一、函数相关
1、函数定义 可变参数
必须写上参数类型
func parms2(numberList ...int) { // 这里的 ...int 是类型,不能省略
// ...
}
函数调用
nums := []int{1, 2, 3, 4}
parms2(nums...) // 这里的 ... 不是省略类型,而是把切片展开成多个参数
2、两个特殊函数 init 和 defer
init是在main函数调用之前自动调用的且不能被其他函数调用
init的执行循序是谁在前面谁先执行 defer的执行顺序是谁在后谁先执行
package main
import "fmt"
func init() {
fmt.Println("init - 1")
}
func init() {
fmt.Println("init - 2")
}
func init() {
fmt.Println("init - 3")
}
func main() {
defer fmt.Println("defer - 1")
defer fmt.Println("defer - 2") //defer是谁离return近谁先出来
fmt.Println("我是main函数")
}
运行结果为
init - 1
init - 2
init - 3
我是main函数
defer - 2
defer - 1

被折叠的 条评论
为什么被折叠?



