GO语言中main函数的过早退出有时是有害的,原因是main函数的退出会导致整个程序的退出,如果程序是基于协程来实现的,那么main函数的退出必然导致协程无法执行完成而退出,从而导致程序出现非预期的结果。

因此,在很多时候我们是不希望main函数提前退出的。下面几种方式可以阻止main函数提前退出。

方式一
func main() {
	defer func() {
		for {}
	}()
}
方式二
func main() {
	defer func() {
		<- make(chan bool)
	}()
}
方式三
func main() {
	defer func() {
		select{}
	}()
}
Logo

一站式 AI 云服务平台

更多推荐