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

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

帶有方法/函數的 Golang 逗號

帶有方法/函數的 Golang 逗號

Go
一只斗牛犬 2021-09-27 15:38:35
為什么我們允許在方法聲明、參數列表或返回列表中的接收器末尾放置逗號。像這樣:func (ds *dasa,) yoooooolo (dsa dasa,) (dsaa dasa,)為什么這是允許的?結尾處都是逗號嗎?
查看完整描述

2 回答

?
慕尼黑8549860

TA貢獻1818條經驗 獲得超11個贊

Golang 允許在許多聲明后使用尾隨逗號。


這可能是語言設計者的一個明確的設計選擇,以便更寬容不相關的語法錯誤;然而,只有他們可以解釋他們的動機。


func (f *Foo,) Bar(x, y int,) (int, error,) { //...

f.Bar(1, 2, 3,)

xs := []int{1, 2, 3,}

事實上,在一些多行文字聲明中,它需要尾隨逗號(大概是為了簡化元素的重新排序):


ys := []int{

  1,

  2, // <-- required comma.

}

m := map[string]int{

  "foo": 1,

  "bar": 2, // <-- required comma.

}

請注意,該go fmt命令會自動刪除無關的、可選的尾隨逗號。在構建代碼之前,您應該始終運行該工具。


查看完整回答
反對 回復 2021-09-27
?
揚帆大魚

TA貢獻1799條經驗 獲得超9個贊

當您有一個帶有許多參數的函數時,有時您希望將函數頭分布在多行中,如下所示:


func foo(

    int arg1,

    string arg2,

    []byte arg3,

    error arg4,

 ) {

    /* implementation goes here */

 }

尾隨逗號允許以更正交的方式寫下此參數列表。


查看完整回答
反對 回復 2021-09-27
  • 2 回答
  • 0 關注
  • 228 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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