return
을 사용하면 된다.package main
import (
"log"
)
func main() {
go func() {
log.Println("Hello, World!")
}()
select {}
}
출력값
Hello, World!
fatal error: all goroutines are asleep - deadlock!
goroutine 1 [select (no cases)]:
main.main()
/mnt/c/Users/user/Desktop/test/main.go:13 +0x2a
exit status 2
package main
import (
"log"
)
func main() {
go func() {
log.Println("Hello, World!")
}()
// 프로그램이 종료될 때까지 기다립니다.
for {}
}
출력값
Hello, World!
둘의 차이를 알아보았다.
하지만 현실에서 비어있는 select나 for문을 사용하지는 않을 듯 하다.
2023-05-10
tendermint의 Node 실행부에서 select {} 사용을 한다.
https://github.com/tendermint/tendermint/blob/main/cmd/tendermint/commands/run_node.go#L130...L131
https://stackoverflow.com/questions/18661602/what-does-an-empty-select-do