defer 关键字,在函数的最后执行(return 之后),如果有多个 defer,则执行先进后出原则

闭包,指的是匿名函数,golang 不允许在函数内部套函数,可以使用 func(){}() 实现

...Type 可以传递变长参数,如 func add(a int,b int,args ...int), args 为切片类型,相反的,也可以解析变长参数传参,如 min(args...)

习题:

题目1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
package main

import "fmt"

func f() (ret int) {
defer func() {
ret++
}()
return 1
}

func main() {
fmt.Println(f())
}

答案 false

2