每天五分鐘Go - 函數基礎
阿新 • • 發佈:2019-03-16
函數 定義 pre 語言 一個 變量名 fun 結果 Go語言
函數在定義
Go的函數使用func
來定義,返回類型支持多個值的返回
func 函數名([參數列]) [返回值類型]{
方法執行體
}
參數列支持多個參數的聲明,同一類型的函數,聲明時和變量的聲明一樣
(a int,b int)
(a,b int)
返回值類型也同樣支持多個返回類型
int
(int,int)
返回的值可以有指定的變量,以便給調用者指定返回的變量名
(a int , b int)
函數的定義如下
func eval(a,b int ,op string) int{ ... ... } //給返回值定義返回變量 fund div(a,b int ) (q,r int){ }
在調用多個返回值的函數時,如果只想用到其中的一個,或部分結果時,不需要的的結果可以使用_
作為返回結果的空處理
因為go語言規定,定義的變量後面必須使用,不使用的話會報錯
如果調用div
函數,只想要第一個返回結果,那麽可以使用這樣的方式
a,_=div(1,2)
可變參數列表
就是參數有確定個數的參數列表
func app(args ...int){
}
//調用
app(1,2,3,4,5)
聲明函數變量
也有的地方稱為匿名函數,
var add=func(a,b int) int{ return a+b } add(3,4) //如果在函數內部可以使用`:=`來聲明一個函數變量 add:=func(a,b int) int{ return a+b }
下面是整合的
var add =func(a,b int) int{
one:=func(c,d int) int{
return c+d
}
return one(a,b)
}
從函數的定義上來看,定義的函數是沒有方法名的,只有一個變量作為函數
匿名函數的形式
var add =func(a,b int) int{
return func(c,d int) int{
return c+d
}(a,b)
}
每天五分鐘Go - 函數基礎