1 回答

TA貢獻(xiàn)1794條經(jīng)驗 獲得超8個贊
編碼:
struct { name string rate float64 active bool }
是一個結(jié)構(gòu)類型文字。
type
關(guān)鍵字引入了類型聲明。問題中的語句使用指定的結(jié)構(gòu)類型文字type
聲明命名類型。subscriber
var
關(guān)鍵字引入了變量聲明。問題中的var
語句聲明了subscriber
具有由結(jié)構(gòu)類型文字指定的匿名類型的變量。
對我來說,第一個帶有關(guān)鍵字 type 的結(jié)構(gòu)似乎是可以重復(fù)使用的(即,實例化任意多次)。
關(guān)鍵是聲明的類型有一個名字,這個名字可以用來指代這個類型。
然后是第二個訂閱者結(jié)構(gòu) - 帶有關(guān)鍵字 var- 不像定義那樣。它只是使用 var name 訂閱者動態(tài)創(chuàng)建的單個結(jié)構(gòu)嗎?
從定義變量的意義上說,它是一個定義subscriber
。該變量subscriber
具有結(jié)構(gòu)類型文字指定的匿名類型。
這意味著您不能使用此代碼創(chuàng)建更多的訂閱者結(jié)構(gòu)。
應(yīng)用程序可以使用簡短的變量聲明來聲明另一個具有相同匿名類型的變量:
subscriber2 := subscriber
應(yīng)用程序可以聲明一個具有相同類型文字的變量:
var subscriber3 struct{ name string rate float64 active bool }
變量subscriber
,subscriber2
和subscriber3
都具有相同的匿名類型。
- 1 回答
- 0 關(guān)注
- 145 瀏覽
添加回答
舉報