昨天和前天的考题里,都涉及了 defer、返回值的相关问题,今天的次条统一做了讲解,有必要看下。说实话,现在我还经常掉进坑里,时不时还会翻出文章看看。
今天的题目也跟 defer 相关,看完文章回来做个小练习,就当练手。
欢迎在留言区补充!
看下今天的题目:
1.下面代码段输出什么?
type Person struct {
age int
}
func main() {
person := &Person{28}
// 1.
defer fmt.Println(person.age)
// 2.
defer func(p *Person) {
fmt.Println(p.age)
}(person)
// 3.
defer func() {
fmt.Println(person.age)
}()
person.age = 29
}
答案以及解析会在下一篇文章中给出,鼓励大家在留言区留下答案,抱团学习,日拱一卒,每天进步一点!
所有学习上的成功,都只依靠两件事 -- 策略和坚持,而坚持本身就是最重要的策略!
推荐阅读:
如果我的文章对你有所帮助,点赞、转发都是一种支持!