鏈客,有問必答!!
定義格式
函式構成**執行的邏輯結構。在go語言中,函式的基本組成為:關鍵字func、函式名、引數列表、返回值、函式體和返回語句。
go 語言函式定義格式如下:
func funcname(/引數列表/) (o1 type1, o2 type2/返回型別/)
函式定義說明:
func:函式由關鍵字 func 開始宣告
funcname:函式名稱,根據約定,函式名首字母小寫即為private,大寫即為public
引數列表:函式可以有0個或多個引數。
返回型別:
① 上面返回值什麼兩個變數名,當然這不是必須的,可以有型別,沒變數。
② 如果只有乙個返回值且不宣告返回值變數,那麼你可以省略,包括返回值的括號。
③ 如果沒有返回值,那麼就直接省略最後的返回資訊。
④ 如果有返回值, 那麼必須在函式的內部新增return語句
函式定義。
無參無返回值
func test()
有參無返回值
普通引數列表
func test01(v1 int, v2 int)
func test02(v1, v2 int)
func main()
不定引數列表
不定引數型別
不定引數是指函式傳入的引數個數為不定數量。為了做到這點,首先需要將函式定義為接受不定引數型別:
//形如...type格式的型別只能作為函式的引數型別存在,並且必須是最後乙個引數func test(args ...int) }
func main()
不定引數的傳遞
func myfunc01(args ...int) }
func myfunc02(args ...int) }
func test(args ...int)
func main()
無參有返回值
有返回值的函式,必須有明確的終止語句,否則會引發編譯錯誤。
乙個返回值
func test01() int
//官方建議:最好命名返回值,因為不命名返回值,雖然使得**更加簡潔了,但是會造成生成的文件可讀性差
func test02() (value int)
func main()
多個返回值
func test01() (int, string)
func test02() (a int, str string)
func main()
有參有返回值
//求2個數的最小值和最大值
func minandmax(num1 int, num2 int) (min int, max int) else
return}
func main() {
min, max := minandmax(33, 22)
fmt.printf("min = %d, max = %d\n", min, max) //min = 22, max = 33
Go基礎程式設計 自定義函式
函式構成 執行的邏輯結構。在go語言中,函式的基本組成為 關鍵字func 函式名 引數列表 返回值 函式體和返回語句。go 語言函式定義格式如下 func funcname 引數列表 o1 type1,o2 type2 返回型別 函式定義說明 func test func main func tes...
Go 自定義排序
go語言包中包含了排序包 sort,其中針對一般的strings int型別已經有了排序方法 sort.ints a int sort.strings a string 1 分別實現三個函式 func p myslice len int func p myslice less i,j int boo...
Go 自定義排序
有的時候我們希望排序不是僅僅按照自然順序排序。例如,我們希望按照字串的長度來對乙個字串陣列排序而不是按照字母順序來排序。這裡我們介紹一下go的自定義排序。an highlighted block package main import sort import fmt 為了能夠使用自定義函式來排序,我...