is there any key word in haxe like ref in c#?
Not really. You could work around this by wrapping basic types in an object:
class Test {
static function main() {
var object = {i: 0};
foo(object);
trace(object.i);
}
static function foo(bar) {
bar.i = 10;
}
}