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 }