我有这样的功能:
private static function myfun(
string $param1,
:xhp $param2,
): :xhp {
return
//somethinf
}
我不想将任何东西作为param2传递。我怎样才能做到这一点 ?当我尝试这样做时:
myfun("Hi",null),
它向我显示错误。
为了能够传入null
,您的类型提示必须允许它。在 Hack 中,这是通过使用可为空的类型来完成的。
private static function myfun(
string $param1,
?:xhp $param2,
): :xhp {
return
//somethinf
}
然后,Hack 类型检查器还将确保您$param2
在使用它之前检查不为空。
这是诀窍吗?
private static function myfun(
string $param1,
:xhp $param2=null,
): :xhp {
return
//somethinf
}