中文字幕一区二区人妻电影,亚洲av无码一区二区乱子伦as ,亚洲精品无码永久在线观看,亚洲成aⅴ人片久青草影院按摩,亚洲黑人巨大videos

Go 語言函數(shù)閉包

Go 函數(shù)Go 函數(shù)

Go 語言支持匿名函數(shù),可作為閉包。匿名函數(shù)是一個(gè)"內(nèi)聯(lián)"語句或表達(dá)式。匿名函數(shù)的優(yōu)越性在于可以直接使用函數(shù)內(nèi)的變量,不必申明。

以下實(shí)例中,我們創(chuàng)建了函數(shù) getSequence() ,返回另外一個(gè)函數(shù)。該函數(shù)的目的是在閉包中遞增 i 變量,代碼如下:

實(shí)例

package main

import "fmt"

func getSequence() func() int {
? ?i:=0
? ?return func() int {
? ? ? i+=1
? ? ?return i ?
? ?}
}

func main(){
? ?/* nextNumber 為一個(gè)函數(shù),函數(shù) i 為 0 */
? ?nextNumber := getSequence() ?

? ?/* 調(diào)用 nextNumber 函數(shù),i 變量自增 1 并返回 */
? ?fmt.Println(nextNumber())
? ?fmt.Println(nextNumber())
? ?fmt.Println(nextNumber())
? ?
? ?/* 創(chuàng)建新的函數(shù) nextNumber1,并查看結(jié)果 */
? ?nextNumber1 := getSequence() ?
? ?fmt.Println(nextNumber1())
? ?fmt.Println(nextNumber1())
}

以上代碼執(zhí)行結(jié)果為:

1
2
3
1
2

Go 函數(shù)Go 函數(shù)

其他擴(kuò)展