Go 中的簡短變數宣告:包裝層級的限制
考慮以下程式碼:
package main var a = 3 ...
此聲明在Go 中有效,將值3 賦給變數a。然而,以下聲明是被禁止的:
package main a := 3 ...
為什麼會出現這種差異?為什麼短變數宣告不能在函數外使用?
原因在於 Go 的解析機制。根據 Go 開發貢獻者 Ian Lance Taylor 的說法,這種限制確保了解析的簡單性。透過要求套件層級的每個聲明都以關鍵字開頭,解析器可以有效地識別和解釋聲明,而不會產生歧義。這種方法簡化並加快了解析過程。因此,Go 中的套件層級不允許缺少顯式關鍵字的短變數宣告。
以上是為什麼Go的短變數宣告不能在套件層級使用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!