在這個函數中,我希望在主模板執行后有時間睡覺。并在1分鐘后打印消息,但它給了我兩個問題。加載模板需要 1 分鐘,而不是在模板執行后休眠。它給出了添加 .當我寫時,它給了我另一個關于這個代碼的錯誤。returnreturn niltime.Sleep(5 * time.Second) fmt.Println("Time Passed")unreachable code我使用此函數的中間件不重復每個錯誤消息。Main()log.Fatal(err)法典func Main(w http.ResponseWriter, r *http.Request) error { match := Get("id1") if match { return MainTmpl.Execute(w, nil) time.Sleep(1 * time.Minute) fmt.Println("Time Passed") } else { return LoginTmpl.Execute(w, nil) } return nil}
1 回答

慕無忌1623718
TA貢獻1744條經驗 獲得超4個贊
語句后面的任何代碼都是不可訪問的,因為函數將在執行這些語句之前返回。如果你想在寫完回復1分鐘后打印一些東西,你可以這樣做:return
func Main(w http.ResponseWriter, r *http.Request) error {
match := Get("id1")
if match {
go func() {
time.Sleep(1 * time.Minute)
fmt.Println("Time Passed")
}()
return MainTmpl.Execute(w, nil)
} else {
return LoginTmpl.Execute(w, nil)
}
return nil
}
這將啟動一個將休眠一分鐘并打印的戈魯丁。
- 1 回答
- 0 關注
- 74 瀏覽
添加回答
舉報
0/150
提交
取消