天天看點

《Hack與HHVM權威指南》——1.3.1 函數的傳回類型

關于函數傳回類型的文法是最簡單的,在函數參數清單結束的圓括号後面,添加一個冒号和一個類型名稱。你可以在函數或者方法中這樣使用,甚至那些沒有具體内容的接口和抽象類的方法聲明中也可以這樣使用。下面是範例:

function returns_an_int(): int {

// ...

}

function returns_a_string(): string {

在結束的圓括号和冒号中間的空白字元是允許存在的。如果函數簽名太長而無法放在一行上時, 通常可以在結束的圓括号和冒号之間插入一個換行符。

閉包也可以擁有傳回類型注解:

$add_one = function ($x): int { return $x + 1; };

$add_n = function ($x): int use ($n) { return $x + $n; };

這個文法和将會在php 7中釋出的類型提示(typehint)文法相容,除了使用捕獲變量清單的閉包的情況之外。在php 7中,傳回類型提示在捕獲變量清單後面,但是在hack中,它出現在參數清單後面。