第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

為什么要命名返回參數(shù)?

為什么要命名返回參數(shù)?

Go
冉冉說 2021-05-20 14:15:48
命名函數(shù)的返回參數(shù)有什么好處?func namedReturn(i int) (ret int) {    ret = i    i += 2    return}func anonReturn(i int) int {    ret := i    i += 2    return ret}
查看完整描述

3 回答

?
心有法竹

TA貢獻(xiàn)1866條經(jīng)驗(yàn) 獲得超5個(gè)贊

命名它們有一些好處:

  • 它用作文檔。

  • 它們會(huì)自動(dòng)聲明并初始化為零值。

  • 如果您有多個(gè)返回站點(diǎn),則在更改函數(shù)的返回值時(shí)無需全部更改它們,因?yàn)樗粫?huì)顯示“ return”。

還有缺點(diǎn),主要是很容易通過聲明相同名稱的變量來意外地遮蓋它們。


有效的Go中有一個(gè)關(guān)于命名結(jié)果參數(shù)的部分:

可以給Go函數(shù)的返回或結(jié)果“參數(shù)”指定名稱,并將其用作常規(guī)變量,就像傳入的參數(shù)一樣。命名后,函數(shù)開始時(shí)會(huì)將它們初始化為其類型的零值;否則,將它們初始化為零。如果函數(shù)執(zhí)行不帶參數(shù)的return語句,則將結(jié)果參數(shù)的當(dāng)前值用作返回值。

名稱不是強(qiáng)制性的,但它們可以使代碼更短,更清晰:它們是文檔。如果我們命名nextInt的結(jié)果,則顯而易見,返回的int是哪個(gè)。

func nextInt(b []byte, pos int) (value, nextPos int) {

[...]


查看完整回答
反對(duì) 回復(fù) 2021-05-31
?
繁花不似錦

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超4個(gè)贊

至少在兩種情況下很有用:


每當(dāng)必須聲明要返回的變量時(shí)。例如


func someFunc() (int, error) {

    var r int

    var e error

    ok := someOtherFunc(&r)  // contrived, I admit

    if !ok {

        return r, someError()

    }

    return r, nil

}


func someFunc() (r int, e error) {

    ok := someOtherFunc(&r)

    if !ok {

        e = someError()

    }

    return

}

隨著通過函數(shù)的執(zhí)行路徑數(shù)量的增加,這一點(diǎn)變得越來越重要。


在記錄返回值并希望按名稱引用它們時(shí)。godoc將返回變量視為函數(shù)簽名的一部分。


查看完整回答
反對(duì) 回復(fù) 2021-05-31
  • 3 回答
  • 0 關(guān)注
  • 212 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)