如何将null参数传递给接受的函数:xhp作为参数?

时间:2017-06-22 09:49:39

标签: hacklang xhp

我的功能如下:

private static function myfun(
    string $param1,
    :xhp $param2,
  ): :xhp {
    return
      //somethinf
  }

我不想将任何内容传递给 param2 。我怎样才能做到这一点 ? 当我尝试这样做时:

myfun("Hi",null), 

它显示了我的错误。

2 个答案:

答案 0 :(得分:2)

为了能够传递null,您的类型提示必须允许它。在Hack中,这是通过使用nullable type来完成的。

private static function myfun(
    string $param1,
    ?:xhp $param2,
): :xhp {
    return
      //somethinf
}

然后,Hack类型检查器还会确保在使用之前检查$param2是否为空。

答案 1 :(得分:0)

这是诀窍吗? private static function myfun( string $param1, :xhp $param2=null, ): :xhp { return //somethinf }