本文主要是介绍6.4 Golang精编100题4:程序输出,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1 写出下面代码输出内容
package mainimport "fmt"func main() {defer_call()
}func defer_call() {defer func() { fmt.Println("打印前") }()defer func() { fmt.Println("打印中") }()defer func() { fmt.Println("打印后") }()//效果等同于returnpanic("触发异常")
}
解析:3个defer的顺序是倒序执行的,由于没有捕获异常,最终在函数返回时触发了异常;
2 以下代码有什么问题,说明原因
package mainimport "fmt"type student struct {Name stringAge int
}func main() {m := make(map[string]*student)stus := []student{{Name: "zhou", Age: 24},{Name: "li", Age: 23},{Name: "wang", Age: 22},}for _, stu := range stus {//fmt.Println(stu)m[stu.Name] = &stu}fmt.Println(m)
}
解
这篇关于6.4 Golang精编100题4:程序输出的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!