欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

柚子快報(bào)邀請(qǐng)碼778899分享:開(kāi)發(fā)語(yǔ)言 Golang函數(shù)

柚子快報(bào)邀請(qǐng)碼778899分享:開(kāi)發(fā)語(yǔ)言 Golang函數(shù)

http://yzkb.51969.com/

目錄

函數(shù)變量

可變參數(shù)

匿名函數(shù)與閉包

Golang中用func來(lái)聲明函數(shù),格式如下:?

func 函數(shù)名(參數(shù)列表) 返回值類型{ //若沒(méi)有返回值,則不用寫(xiě)

函數(shù)體

}

比如定義一個(gè)名為Add的函數(shù),返回兩數(shù)之和。

func Add(x int,y int) int { //此處可簡(jiǎn)寫(xiě):func Add(x,y int) int

return x+y

}

函數(shù)變量

Golang中,函數(shù)也是類型,可以存在變量中。

格式:

var 變量名 func()

//賦值:

變量名=函數(shù)名

示例:

package main

import "fmt"

func Minus(x,y int) int {

return x-y

}

func main() {

a:=10

b:=5

var minu func(x,y int) int

minu=Minus

n:=minu(a,b)

fmt.Print(a,"-",b,"=",n)

}

可變參數(shù)

Go支持可變參數(shù)。

格式如下:

func 函數(shù)名(固定參數(shù)列表,v ...T) 返回值類型 { //如果有固定參數(shù),可變參數(shù)必須放在參數(shù)列表的末尾

函數(shù)體

}

“v ...T”代表的其實(shí)就是v為T(mén)類型的切片。

示例,還是用Add函數(shù),但可以將任意多個(gè)數(shù)相加:

package main

import "fmt"

func Add(slice... int) int {

sum:=0

for _,value:=range slice {

sum=sum+value

}

return sum

}

func main() {

fmt.Print("1+2+3+4+5+6+7+8+9=",Add(1,2,3,4,5,6,7,8,9))

}

匿名函數(shù)與閉包

匿名函數(shù)就是在需要函數(shù)時(shí)定義函數(shù),常用于實(shí)現(xiàn)閉包。

匿名函數(shù)格式:

func(參數(shù)列表) 返回值類型 {

函數(shù)體

}

匿名函數(shù)的調(diào)用:

在定義的同時(shí)調(diào)用匿名函數(shù)。

示例:

package main

import "fmt"

func main() {

func(a,b int) {

fmt.Print(a+b)

}(1,3)

}

輸出4。

閉包就是包含了自由變量的匿名函數(shù),其中的自由變量即使已經(jīng)脫離了原有的自由變量環(huán)境也不會(huì)被刪除,在閉包的作用域內(nèi)可繼續(xù)使用這個(gè)自由變量,同一個(gè)匿名函數(shù)和不同的引用環(huán)境組成了不同的閉包。閉包可對(duì)作用有內(nèi)的變量的引用進(jìn)行修改。

例子:

package main

import "fmt"

func Add(i int) func() int {

return func() int {

i++

return i

}

}

func main() {

a1:=Add(0)

fmt.Println(a1())

a2:=Add(99)

fmt.Print(a2())

fmt.Printf("\na1閉包的地址為:%p a2閉包的地址為:%p",&a1,&a2)

}

運(yùn)行結(jié)果:

1

100

a1閉包的地址為:0xc00001e018 a2閉包的地址為:0xc00001e038

小結(jié)

Golang中,用關(guān)鍵字func定義函數(shù)。

Go語(yǔ)言支持可變參數(shù),即參數(shù)的個(gè)數(shù)沒(méi)有固定(可變參數(shù)要放在參數(shù)列表的最后)

閉包就是包含了自由變量的匿名函數(shù),其中的自由變量即使已經(jīng)脫離了原有的自由變量環(huán)境也不會(huì)被刪除。

附錄

Golang內(nèi)置函數(shù)

Go自帶了許多函數(shù),使用時(shí)直接調(diào)用。簡(jiǎn)要列舉出了Go的一些內(nèi)置函數(shù)。

對(duì)切片的操作做一個(gè)簡(jiǎn)單地示例:

package main

import "fmt"

func main() {

sourceSlice:=[]int{1,2}

sourceSlice=append(sourceSlice,3,4)

fmt.Println("sourceSlice:",sourceSlice)

targetSlice:=make([]int,3)

copy(targetSlice,sourceSlice)

fmt.Printf("復(fù)制成功!\n")

fmt.Println("length of targetSlice:",len(targetSlice))

}

運(yùn)用Go的內(nèi)置函數(shù)可解決許多問(wèn)題!

求個(gè)點(diǎn)贊!

柚子快報(bào)邀請(qǐng)碼778899分享:開(kāi)發(fā)語(yǔ)言 Golang函數(shù)

http://yzkb.51969.com/

好文閱讀

評(píng)論可見(jiàn),查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19151672.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問(wèn)

文章目錄