Go 中的常數:透過初始化宣告常數變數
在 Go 中,常數提供在程式執行期間無法變更的常數值。要聲明常數,可以使用關鍵字 const。但是,不允許使用函數呼叫初始化常數。
考慮範例:
const KILO = math.Pow10(3)
這將導致錯誤:「const 初始化器 math.Pow10(3)不是常數."
為什麼常數不能用函數初始化呼叫
常數在編譯時評估,而函數呼叫在執行時發生。因此,不可能透過函數呼叫來初始化常數,因為函數呼叫的結果直到運行時才知道。
內建函數的異常
一些內建函數-in 函數(例如unsafe.Sizeof())可以在常數宣告中使用,因為它們可以在編譯時求值。但是,大多數函數呼叫不能在常數聲明中使用。
初始化常數的替代方法
要使用無法在編譯時計算的值來初始化常數,請改用變數。例如:
var KILO = math.Pow10(3)
在這種情況下,變數 KILO 會在執行時使用 math.Pow10(3) 呼叫的結果進行初始化。
以上是為什麼我無法透過函數呼叫初始化 Go 常數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!