多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
### 延迟执行语句 > **defer 任意语句** >语句不会马上执行,所有的会从最后一个往前执行。倒这执行吧,我这样理解。defer也常常用来释放资源 ``` package main import "fmt" func main() { fmt.Println("开始") defer fmt.Println("顺序1") fmt.Println("顺序2") defer fmt.Println("顺序3") defer fmt.Println("顺序4") defer fmt.Println("顺序5") fmt.Println("结束") } 结果: 开始 顺序2 结束 顺序5 顺序4 顺序3 顺序1 ``` ``` package main import ( "fmt" "net" ) func main() { conn, err := net.Dial("tcp", "www.baidu.com:80") if err == nil { defer conn.Close() fmt.Println("remote address:", conn.RemoteAddr()) } fmt.Println("error:", err) } 结果: remote address: 183.232.231.172:80 error: <nil> ```