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

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

Go:調用函數時如何使用命名參數?

Go:調用函數時如何使用命名參數?

Go
慕的地8271018 2023-07-26 15:44:09
如何在使用命名參數時調用函數?我想做的事情的例子:func Add(a int, b int) int {? return a + b}func main() {? c := Add(a: 1, b:3)? return c}但是,上面給了我錯誤:unexpected :, expecting comma or )(它指的是“a”之后的“:”)
查看完整描述

2 回答

?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

簡而言之:Go 語言不支持命名參數,但 IDE 支持(見下文)。

我同意命名參數在 Go 中可能很有用。它可以幫助避免錯誤。例如,就在昨天,我的測試發現了一個錯誤,其中源和目標。copy()(Go 內置函數)的參數從后到前。

然而,Go可能擁有數百種有用的語言功能。我們盡量避免向語言添加非必要的功能,以保持簡單。一旦您在大型項目中使用了 Go,您就會非常感激與其他語言相比,事情要簡單得多。(我專業使用過十多種語言,而 Go 是迄今為止最不煩人的。)

但實際上,如果您的 IDE 支持,您可以使用命名參數。例如,我使用 GoLand,當您輸入函數的參數時,它會顯示參數名稱(淺灰色),并在值之前顯示冒號。這比您習慣的更好,因為您甚至不需要輸入名稱!


查看完整回答
反對 回復 2023-07-26
?
海綿寶寶撒

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

Go 沒有命名參數。我所知道的 Go 命名參數中最接近的事情是使用結構體作為輸入。所以對于你的例子你可以這樣做 -


type Input struct {

  A int

  B int

}


func Add(in Input) int {

  return in.A + in.B

}


func main() {

  c := Add(Input{A: 1, B: 3})

  return c

}


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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