-1
Go是否允許函數向簽名添加數組長度約束,或者長度是否仍然需要運行時檢查?Can Go函數可以指定特定的數組長度嗎?
Go是否允許函數向簽名添加數組長度約束,或者長度是否仍然需要運行時檢查?Can Go函數可以指定特定的數組長度嗎?
對於數組而言,它是可能的,它是必需的。對於切片來說是不可能的。
package main
import (
"fmt"
)
func main() {
d := [2]int{1, 2}
fmt.Println(sum(d))
}
func sum(data [2]int) int {
return data[0] + data[1]
}
陣列DO有修復長度。另一方面,切片不會,而且您無法通過函數簽名強制切片長度。 –
其實有一種方法。可能的重複[是否有可能觸發編譯時錯誤與自定義庫在golang?](http://stackoverflow.com/questions/37270743/is-it-possible-to-trigger-compile-time-error-with-定製庫中-golang/37271129#37271129) – icza