欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > Go语言 提前退出go程

Go语言 提前退出go程

2024/10/25 9:34:08 来源:https://blog.csdn.net/json_ligege/article/details/141861052  浏览:    关键词:Go语言 提前退出go程

本篇文章内容为Go语言中 提前退出Go程的三种方式介绍及代码示例。

目录

 提前退出go程方式

Return 使用示例

Exit 使用示例

Goexit 使用示例

总结


 提前退出go程方式

GOEXIT:提前退出当前go程

return:返回当前函数

exit : 退出当前进程

Return 使用示例

在子go程中的匿名函数中使用return后,会返回子go程中,继续向下执行。

示例如下:

package mainimport ("fmt""time"
)func main() {go func() {func(){fmt.Println("这是子go进程内部函数!")return // 返回当前函数}()fmt.Println("子进程结束!")}()fmt.Println("这是主go程!")time.Sleep(3 * time.Second)fmt.Println("结束!")
}

运行结果:

这是主go程!
这是子go进程内部函数!
子进程结束!
结束!

 

Exit 使用示例

在子go程中的匿名函数中使用exit后,会退出当前执行子go进程,不在继续打印。

示例如下:

package mainimport ("fmt""os""time"
)func main() {go func() {func(){fmt.Println("这是子go进程内部函数!")// return // 返回当前函数os.Exit(-1) // 退出进程}()fmt.Println("子进程结束!")}()fmt.Println("这是主go程!")time.Sleep(3 * time.Second)fmt.Println("结束!")
}

运行结果:

这是主go程!这是子go进程内部函数!exit status 0xffffffff

 

Goexit 使用示例

在子go程中的匿名函数中使用goexit后,会退出当前的子进程执行。

示例如下:

package mainimport ("fmt"//"os""runtime""time"
)func main() {go func() {func(){fmt.Println("这是子go进程内部函数!")// return // 返回当前函数// os.Exit(-1) // 退出当前子go进程runtime.Goexit() //}()fmt.Println("子进程结束!")}()fmt.Println("这是主go程!")time.Sleep(3 * time.Second)fmt.Println("结束!")
}

不会打印,提前退出当前go程。

执行结果:

这是主go程!这是子go进程内部函数!结束!

总结

本篇文章内容为Go语言中 提前退出Go程的三种方式介绍及代码示例。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com