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

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

為什么在函數內部使用:=短賦值?

為什么在函數內部使用:=短賦值?

Go
HUWWW 2021-05-14 13:09:19
我不太了解短期作業的具體目的,為什么這樣做:x:= 10當這也是可能的時:var x = 10是否有任何特定的用例,其中短作業更方便
查看完整描述

3 回答

?
一只斗牛犬

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

if x, err := fn(); err != nil {

    // do something

}

在上述情況下,變量被限制在if語句內。如果您嘗試err在if語句之外進行訪問,則該語句將不可用。同樣適用于x。還有的地方維護的范圍,想這可能是有用的各種情況,但我要說的使用:=是在給定的風格就像上面if,switch,for。


對于其他一些背景,var還可以進行分組,就像使用一樣import。


var (

    y = 1

    z = 2

)

這將varvs的用例推得:=更遠。


查看完整回答
反對 回復 2021-05-17
?
一只萌萌小番薯

TA貢獻1795條經驗 獲得超7個贊

我認為,這:=主要是作為一種方便的語法來接收函數調用的結果,在這種情況下,人們經常希望在聲明新變量的同時重用現有變量:


x, err := func1()

if err != nil {

    fmt.Fatal(err)

}

y, err := func2()

if err != nil {

    fmt.Fatal(err)

}

上面的代碼之所以編譯:=,是因為只要創建了至少一個新變量,就可以列出現有變量。嘗試用替換y, err :=,var y, err =您將發現它無法編譯。


查看完整回答
反對 回復 2021-05-17
  • 3 回答
  • 0 關注
  • 203 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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