一.函式的命名
無引數無回傳值
方式一
func 函式名()(){}
方式二
func 函式名(){}
無引數有回傳值
方式一
func 函式名()(回傳引數1的資料型別1){}
定長引數,有回傳值
func 函式名(引數1 型別,引數2 型別)(回傳引數1的資料型別1,回傳引數2的資料型別){}
//如果引數1與引數2的資料型別相同
func 函式名(引數1,引數2 型別)(回傳引數1的資料型別1,回傳引數2的資料型別){}
//如果引數1與引數2的資料型別為int,引數3資料型別為uint
func 函式名(引數1,引數2 int,引數3 uint)(回傳引數1的資料型別1,回傳引數2的資料型別){}
定長引數,無回值
//方式一
func 函式名(引數1 型別,引數2 型別){}
//方式二
func 函式名(引數1 型別,引數2 型別)(){}
不定長引數
//方式一
func 函式名(不定長引數1... 型別){}
//有定長引數和不定長引數
func 函式名(定長引數 型別,不定長引數1... 型別){}
//不定長的引數必須寫在定長的引數后面
//不定長引數所有資料型別
func 函式名(不定長引數1... interface{}){}
匿名函式
//定義
func (引數一,引數二)(回傳引數1的資料型別1){return 1 }
//定義+呼叫
func (引數一,引數二)(回傳引數1的資料型別1){return 1 }()
命名回傳值
package main
import "fmt"
func abc()(a int,b int){
//var a,b int 相當于默認執行這條
//但是ab只在函式內生效函式外部生效
return
//return 與return a,b是一樣的
}
func main() {
fmt.Println(abc())
}
二.注意點
- 由于是編譯型語言main 與main里面使用的函式不需要注意先后關系
沒有關鍵字傳參沒有默認引數- 函式沒有縮進的約數,但是為了排版還是要注意縮進不然會看上去非常非常
丑
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/61775.html
標籤:Go
