ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### 延迟执行语句 > **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> ```