首頁 >後端開發 >Golang >為什麼我不能在 Go 的套件層級使用短變數宣告(`:=`)?

為什麼我不能在 Go 的套件層級使用短變數宣告(`:=`)?

DDD
DDD原創
2024-12-25 09:44:09734瀏覽

Why Can't I Use Short Variable Declarations (`:=`) at the Package Level in Go?

套件層級的短變數宣告

在Go 中,函數內允許短變數宣告(使用:=),但不允許在封裝級別。這可能會令人費解,因為在函數外部使用 := 看起來就像沒有類型的常規聲明。

限制的原因

根據 Ian Lance Taylor 的說法, Go 的創建者認為,該限制的存在只是為了簡化解析。頂級聲明總是以關鍵字開頭,例如 var、func、import 等。這簡化了語法並使編譯器的解析更加簡單。

範例

允許使用var 進行包級宣告:

package main

var a = 3

短變數宣告使用:= 在套件層級不允許:

package main

a := 3

以上是為什麼我不能在 Go 的套件層級使用短變數宣告(`:=`)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn