Go語言學習筆記-函式部分(三)
阿新 • • 發佈:2018-11-19
函式部分
函式基本組成:關鍵字func、函式名、引數列表、返回值、函式體、返回語句
例子:
func Add(int a, int b) (return int, err error){ ....函式體... }
如果相鄰引數型別相同,可以簡寫,eg: a,b int //a、b引數型別相同
函式呼叫:
使用方式:首先匯入該函式所在的包,再直接通過點號‘.’來使用
例子:
import "mymath" //匯入函式所在包
c:= mymath.Add(1, 2) //使用格式
注意:小寫字母開頭的函式只能在本包中使用(只在本包可見),大寫字母開頭的函式才能被其他包使用
- 不定引數:
- 指的是傳入的引數個數不定數量
- 用法:函式引數用 “...型別”指定
例如:
func myfun(args ...int){ for _, arg := range args { fmt.PrintLn(arg) } }
- 任意型別的不定引數:
- 引數型別用:interface{}
- 例如:
func Printf(format string, args ...interface{}){ //引數型別為interface{}表示任意型別都可以傳進來
}
程式碼例項:
package main import "fmt" func MyPrintf(args ...interface{}){ //不定引數的函式 for _, arg := range args{ switch arg.(type) { //arg的資料型別 case int: fmt.Println(arg, "is an int value") case int64: fmt.Println(arg, "is an int64 value") case string: fmt.Println(arg, "is an string value") case float32: fmt.Println(arg, "is an float32 value") } } } func main(){ var v1 int = 1 var v2 int64 = 234 var v3 string = "hello" var v4 float32 = 1.234 MyPrintf(v1, v2, v3, v4) }