Hacklang:如何键入注释本地/全局变量?

jam*_*her 5 global-variables type-annotation hacklang

Hack手册非常清楚如何键入 - 注释函数参数,函数返回类型和成员变量.但是,我尝试键入全局变量或函数局部变量的所有方法都会导致语法错误:

string $foo   = "foo";        // unexpected T_VARIABLE
$foo : string = "foo";        // unexpected ':'
string $foo;   $foo = "foo";  // unexpected T_VARIABLE
$foo : string; $foo = "foo";  // unexpected ':'
Run Code Online (Sandbox Code Playgroud)

这样的注释是否可能?如果有可能,那么正确的语法是什么?如果不可能,那么这是设计还是开发人员计划实施的东西?(这肯定会有用.)

小智 7

这是不可能的,这是设计的.

局部变量的类型被推断,全局变量不会被检查类型(因为它们可以随时通过访问来改变$_GLOBALS).

如果文档的特定页面可以使其更清晰,请单击其底部的"文件A文档错误"链接,以便可以添加.

  • @Claudiu主要是为了清晰.比如说,我声明了一些应该是一些复杂的`shape`类型的局部变量:如果初始值不满足该类型,那么在声明/初始化时得到错误,而不是在某些稍后在程序中我尝试使用该值. (2认同)