0
点赞
收藏
分享

微信扫一扫

Go语言 之Goexit

求索大伟 2022-05-25 阅读 213
package main

import (
"fmt"
"runtime"
)

func main() {
go func() {
defer fmt.Println("defer A")
func() {
defer fmt.Println("defer B")
//结束goroutine
runtime.Goexit()
fmt.Println("B")
}()
fmt.Println("A")
}()

//保证main不结束执行
for {

}
//执行结果:
//defer B
//defer A

}

调用 runtime.Goexit() 将立即终止当前 goroutine 执⾏,调度器确保所有已注册 defer延迟调用被执行。




举报

相关推荐

0 条评论