var (
HOME = os.Getenv("HOME")
USER = os.Getenv("USER")
GOROOT = os.Getenv("GOROOT")
)這些變量的類型是在編譯期間還是在運行時確定的?
1 回答

天涯盡頭無女友
TA貢獻1831條經驗 獲得超9個贊
Go是一種靜態類型語言,因此它必須在編譯時發生。
如果存在某個類型,則為每個變量指定該類型。否則,將為每個變量分配中相應初始化值的類型。如果該值是非類型化常量,則首先將其隱式轉換為其默認類型;如果它是非類型化的布爾值,則首先隱式轉換為類型 。預聲明值不能用于初始化沒有顯式類型的變量。bool
nil
var d = math.Sin(0.5) // d is float64
var i = 42 // i is int
var t, ok = x.(T) // t is T, ok is bool
var n = nil // illegal
在您的示例中,因為返回了 os 的類型。Getenv()
是 ,所有這些變量都將是 類型。string
string
- 1 回答
- 0 關注
- 64 瀏覽
添加回答
舉報
0/150
提交
取消