有关与函数的一些小例子
package main
import (
"fmt"
)
//函数
//func 函数名(参数类型)(返回值类型)
func sum(x int, y int) (ret int) {
return x + y
}
//没有返回值
func f1(x int, y int) {
fmt.Println(x + y)
}
//没有参数 没有返回值
func f2() {
fmt.Println("这是f2")
}
//没有参数 但有返回值
func f3() int {
return 3
}
//参数可以命名也可以不命名
//命名的返回值就相当于 在函数中申明了一个变量 如 x,y,ret
func f4(x int, y int) (ret int) {
ret = x + y
return //会自动返回ret的值 可以不用写ret。 即使用命名返回值 return后的可以省略
}
//多个返回值
func f5() (int, string, int) {
return 1, "shgdjsh", 2
}
//参数的类型简写:
//当参数中多个连续参数的类型一致时,可以将前面参数的类型省略
func f6(x, y int, a, b, c string) int {
return x + y
}
//可变长参数
//可变长参数必须放在函数参数的最后
func f7(x bool, y ...int) {
fmt.Println(x)
fmt.Println(y) //y的类型是切片 []int
}
//Go语言中函数没有默认参数的概念
//主函数
func main() {
s := sum(5, 7)
fmt.Println(s)
_, ss, _ := f5() //可以只去一个值
fmt.Println(ss)
f7(true, 123345562)
}