GO语言(八) defer注意点
2013-09-11 16:21
447 查看
package main import ( "net" "os" "fmt" "io/ioutil" ) func Clear() { //以下的打印语句不会执行 //使用os.Exit()作为程序的退出方式时,会跳过defer的执行; fmt.Println("===========[Exit function execute]===========") fmt.Println("Clear() is executing.") } func main() { defer Clear() tcpAddr, err := net.ResolveTCPAddr("tcp4", "google.com:http") checkError(err) conn, err := net.DialTCP("tcp", nil, tcpAddr) checkError(err) _, err = conn.Write([]byte("HEAD / HTTP/1.0\r\n\r\n")) checkError(err) result, err := ioutil.ReadAll(conn) checkError(err) fmt.Println(string(result)) os.Exit(0) } func checkError(err error) { if err != nil { fmt.Fprintf(os.Stderr, "Fatal error: %s", err.Error()) os.Exit(1)
相关文章推荐
- 总结Go语言中defer的使用和注意要点
- 7.笔记go语言——if,switch,defer
- GO语言延迟函数defer用法分析
- GO语言Defer用法实例分析
- go语言defer使用 .
- go语言中的defer、panic、recover处理异常
- Go语言中的延迟函数defer示例详解
- go语言笔记——defer作用DB资源等free或实现调试
- Ubuntu16.04 部署配置GO语言开发环境 & 注意事项
- go语言中的defer、panic、recover处理异常
- go语言中的defer、panic、recover处理异常
- 二、slice和数组的区别,map的注意事项 -go语言笔记
- go语言,环境配置注意事项
- go语言 defer 你不知道的秘密!
- Go语言中的defer关键字
- Go语言WaitGroup使用时需要注意的坑
- go语言, defer con.Close() 使用之一
- GO语言之爱恨交织的defer
- Go语言学习笔记 --- 指针和自增自减运算及相关注意事项
- Go语言之defer