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

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

需要更多關(guān)于 Go 的函數(shù)閉包的評論

需要更多關(guān)于 Go 的函數(shù)閉包的評論

Go
qq_笑_17 2022-08-30 15:02:58
下面是A Tour of Go中函數(shù)閉包的代碼,我對函數(shù)閉包有一點(diǎn)了解,但我是Go的初學(xué)者。package mainimport "fmt"func adder() func(int) int {    sum := 0    return func(x int) int {        sum += x        return sum    }}func main() {    pos, neg := adder(), adder()    for i := 0; i < 10; i++ {        fmt.Println(            pos(i),            neg(-2*i),        )    }}以下是一些問題:分別是[參數(shù)列表]和[return_types]?func adder() func(int) int {對于與問題.1相同的行,為什么有(int)而不是像(x int)這樣的東西?對于 ,這是否意味著將函數(shù)加法器分配給 pos 和 neg,為什么不應(yīng)該是?pos, neg := adder(), adder()pos, neg := adder, adder
查看完整描述

1 回答

?
喵喔喔

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

問:對于 func adder() func(int) int { 分別是 [參數(shù)列表] 和 [return_types] 是什么?


答:在這里,我們有一個(gè)名為函數(shù)的函數(shù),它不帶任何參數(shù),該函數(shù)返回一個(gè)函數(shù),該函數(shù)采用一個(gè)整數(shù)并返回一個(gè)整數(shù)。adder()func(int) int


問:對于與 Question.1 相同的行,為什么有 (int),而不是類似 (x int) 的東西?


答:這是功能adder()


func adder() func(int) int {

    sum := 0

    return func(x int) int {

        sum += x

        return sum

    }

}

看看正在返回的函數(shù),這里已經(jīng)有一個(gè)命名參數(shù)(),所以我們不需要在 中再次提到它,因?yàn)槿绻覀冏鲞@樣的事情,這里沒有用。func(x int) intxfunc adder() func(int) intfunc adder() func(x int) intx


因此,如果返回的函數(shù)具有 2 個(gè)參數(shù)(其中一個(gè)額外的參數(shù)是類型),則它類似于以下代碼:string


func adder() func(int, string) int {

    sum := 0

    return func(x int, y string) int {

        sum += x

        fmt.Println(y)

        return sum

    }

}

請注意,我們在 處添加了一個(gè)類型,這是因?yàn)槲覀兎祷氐暮瘮?shù)采用類型。stringfunc adder() func(int, string) int {string


問:對于 pos, neg := adder(), adder(), 這是否意味著將函數(shù) adder 分配給 pos 和 neg,為什么不應(yīng)該是 pos, neg := adder, adder?


答:看,當(dāng)我們賦值給()時(shí),就變成了一個(gè)新的函數(shù),因?yàn)榉祷亓艘粋€(gè)函數(shù),這樣我們就可以做到了。posadder()pos := adder()posadder()func(int) intpos(i)


同樣適用于 .neg


查看完整回答
反對 回復(fù) 2022-08-30
  • 1 回答
  • 0 關(guān)注
  • 77 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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