0 自定义
func (object* object)->绑定对象func_name(variables type)->参数变量(variables type)->返回值{}
1 不定长参数
Go语言支持不定长变参,但是要注意不定长参数只能作为函数的最后一个参数,不能放在其他参数的前面本质是一个切片
任意类型的变参,变参类型应该制定为空接口类型:interface{}.例如:
var severityName = []string{ 0:"INFO", 1:"WARNING",2:"ERROR", 3:"FATAL"}
func cc(args ...interface{}) {
for _,arg := range args{
fmt.Println(arg)}}
func main() {
cc(severityName }
2 指针类型用于传递地址, 而不是传递值, 因为 golang 的函数, 所有的参数都是传递一个复制的值. 如果值的体积过大, 那么就会严重降低效率, 而传递一个地址, 就会大大提高效率.
3 返回值
1 返回值部分用逗号进行隔开类似return 1,2,当函数接收结果包含_时,代表忽略这个返回值
2 在函数有多个返回值时,只要有一个返回值有指定命名,其他的也必须有命名
例如 func test()(a int,b int) { return a+b,c}
4 常用参数变量
1 struct_name *struct (结构体对象 指针) 2 name string(普通类型) 3 name []string(切片类型) 4 name diy_type(自定义类型) 5 err error(错误类型) 6 struct_name struct(结构体对象 非指针)