创建函数一:
func intSum(x, y int) int {
return x + y
}
1.可变参数:指函数的参数数量不固定,Go语言中的可变参数通过在参数名后加...
来标识
例如:
func intSum2(x ...int) int {
fmt.Println(x) //x是一个切片
sum := 0
for _, v := range x {
sum = sum + v
}
return sum
}
2.固定参数搭配可变参数使用时,可变参数要放在固定参数的后面:
func intSum3(x int, y ...int) int {
fmt.Println(x, y)
sum := x
for _, v := range y {
sum = sum + v
}
return sum
}
3.返回多个值:
func calc(x, y int) (int, int) {
sum := x + y
sub := x - y
return sum, sub
}
4. 命名返回值:
func calc(x, y int) ( sum, sub int) {
sum := x + y
sub := x - y
return
}
创建函数二:
func sayHello() {
fmt.Println("你好")
}
引用函数:
func main() {
sayHello()
ret := intSum(10, 20)
fmt.Println(ret)
}
注意:函数也是类型
使用:
package main
import (
"fmt"
)
//定义全局变量a
var a = 30
// Hello 定义函数Hello
func Hello() {
fmt.Println("你好,世界")
}
//定义函数calc
func calc(x, y int, op func(int, int) int) (sum, sub, sew int) {
sum = x + y + a //全局变量函数内也可以使用
sub = x - y + a
sew = op(x, y)
return
}
//定义函数sum
func sum(x, y int) int {
return x + y
}
//调用
func main() {
Hello()
b, c, d := calc(10, 20, sum) //函数也可以作为参数
fmt.Println(b, c, d)
//定义匿名函数
// 将匿名函数保存到变量
add := func(x, y int) {
fmt.Println(x + y)
}
add(20, 20) // 通过变量调用匿名函数
//定义自动执行函数
func(x, y int) {
fmt.Println(x + y)
}(30, 30)
}
输出为:
你好,世界
60 20 30
40
60