0

ゴルーチンに関する次の 2 つの呼び出しの違いを説明できる人はいますか?

方法 1

fmt.Println("Starting srv")
go LOGGER.Error(srv.ListenAndServe())
fmt.Println("Starting intSrv")
go LOGGER.Error(intSrv.ListenAndServe())

これは、「Starting srv」の実行後に停止します

方法 2

go func() {
    fmt.Println("Starting srv")
    srv.ListenAndServe()
}()

go func() {
    fmt.Println("Starting intSrv")
    intSrv.ListenAndServe()
}()

これにより、「Starting srv」と「Starting intSrv」の両方が実行されます。

挙動が違うのはなぜ?

4

2 に答える 2