hack注释
在Hack中有三个(只有三个)可以明确注释类型的地方:
- 函数/方法返回
- 参数
- 类属性
函数和方法返回
函数和方法返回类型用:以下函数或方法的名称和参数列表进行注释:
function <name>([parameters]):<type>
function foo():int {}
注意:您可以在名称/参数列表和:。 注意:关闭也可以注释返回类型
功能和方法参数
函数和方法参数用参数名称前面的类型注释如下:
function <name>(<ptype> <$ pname>):<rtype>
function foo(int $ x):void {}
注意:参数的默认参数必须与提供的类型注释相匹配。
类属性
类属性使用属性名称之前的类型进行注释,如下所示:
<modifiers> <type> <$ pname>;
public int $ x;
Abstract final classes
Hack中的一个类可以被标记为abstract和final。这意味着该类只能具有静态方法和属性,而不能构造函数。static除了数据类型之外,还可以注释属性。
abstract final class X {
public static array<int> $a = array();
}
抽象类常量
除了使用数据类型键入属性之外,还可以在抽象类或接口中声明常量抽象。
interface I {
abstract const int MY_CONST;
}
abstract class Y {
abstract const int MY_CONST;
}
局部变量
您不要键入注释局部变量。它们由类型检测器自动推断。