可以有零至多个参数和零至多个返回值
1.可以有零至多个参数和零至多个返回值
函数function
func
2.支持可变参
func myfunc(arg ...int) {}
3.忽略不需要的返回值
value1 _ : = funcName(input1 type1, input2 type2)
4.函数的另一种形态,带有接收者的函数,称为method
5.函数也可以当做参数传递
6.defer延迟函数,释放资源,恐慌恢复,在函数return后执行,可以修改return的值,但不建议
如果定义多个defer,采用后进先出模式
func ReadWrite() bool {
file.Open("file")
defer file.Close()
if failureX {
return false
}
if failureY {
return false
}
return true
}
func function(a, b int, sum func(int, int) int) {
fmt.Println(sum(a, b))
}
func sum(a, b int) int {
return a + b
}
func funcName(input1 type1, input2 type2) (output1 type1, output2 type2) {
//这里是处理逻辑代码
//返回多个值
return value1, value2
}
func (stu type0)funcName(input1 type1, input2 type2) (output1 type1, output2 type2) {
//这里是处理逻辑代码
//返回多个值
return value1, value2
}