由于某種原因, with 行srv.ListenAndServe()似乎沒有被執行,而優雅關閉仍然像以前一樣在 go 例程中運行。對我來說,代碼看起來相同,只是重構為單獨的文件并添加了 Start 函數。誰能解釋一下為什么它在我給出中斷信號之前不執行,導致http服務器立即啟動和關閉?
1 回答

慕慕森
TA貢獻1856條經驗 獲得超17個贊
包含的代碼行srv.ListenAndServe()
是阻塞代碼行,導致該行代碼之后的日志不會發生。
在我之前的博客中演示的原始代碼中,我將此日志放在帶有srv.ListenAndServe()
.?因此,在該示例中,相同的代碼按預期記錄到控制臺。
所以這畢竟是一個愚蠢的錯誤,你可以輕松地閱讀多次?;旧辖粨Q了 2 行代碼,我忘記了http.ListenAndServe()
.
要點:
http.ListenAndServe() 根據定義是阻塞的,因此不會運行該行之后的任何代碼。
- 1 回答
- 0 關注
- 124 瀏覽
添加回答
舉報
0/150
提交
取消