亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Go變量初始化語法

Go變量初始化語法

Go
qq_笑_17 2023-06-05 16:50:26
我注意到在 Go 代碼示例中有兩種初始化結構類型變量的方式,但我不明白何時使用每種方式??钍揭唬簆ackage mainimport (    "fmt")type Msg struct {  value string}func NewMsg(value string) (Msg) {  return Msg{value}}func main() {  fmt.Println("Hello, playground")  var helloMsg Msg  helloMsg = NewMsg("oi")  fmt.Println("Hello, ", helloMsg.value)}樣式 2:package mainimport (    "fmt")type Msg struct {  value string}func NewMsg(value string) (Msg) {  return Msg{value}}func main() {  fmt.Println("Hello, playground")  var helloMsg Msg  {     helloMsg = NewMsg("oi")  }  fmt.Println("Hello, ", helloMsg.value)}第一種風格是簡單的變量初始化,但第二種風格對我來說更晦澀?;ɡㄌ栍惺裁醋饔??為什么要使用第二種形式?
查看完整描述

2 回答

?
陪伴而非守候

TA貢獻1757條經驗 獲得超8個贊

花括號有什么作用?

它們表示一個代碼塊。當您想要限制標識符的范圍(到該塊)時,您可以使用代碼塊。實際上,它在這里沒有任何意義,因為您只有一個標識符,而且它來自外部范圍。

查看完整回答
反對 回復 2023-06-05
?
慕婉清6462132

TA貢獻1804條經驗 獲得超2個贊

我看不出這兩種風格之間的區別。他們完全一樣。

{}this 定義了范圍代碼,其中聲明的一些變量只能在該范圍內使用。但是如果你helloMsg在外面聲明并在塊=內做{}。'helloMsg' 尚未確定范圍。

所以,這兩種格式化風格是完全一樣的。


查看完整回答
反對 回復 2023-06-05
  • 2 回答
  • 0 關注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號