1 写出下面代码输出内容
package main
import "fmt"
func main() {
defer_call()
}
func defer_call() {
defer func() { fmt.Println("打印前") }()
defer func() { fmt.Println("打印中") }()
defer func() { fmt.Println("打印后") }()
//效果等同于return
panic("触发异常")
}
解析:3个defer的顺序是倒序执行的,由于没有捕获异常,最终在函数返回时触发了异常;
2 以下代码有什么问题,说明原因
package main
import "fmt"
type student struct {
Name string
Age int
}
func main() {
m := make(map[string]*student)
stus := []student{
{Name: "zhou", Age: 24},
{Name: "li", Age: 23},
{Name: "wang"