函数部分
-
函数基本组成:关键字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)
}