在这个函数中,我希望在主模板执行后有时间睡觉。并在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 关注
- 65 浏览
添加回答
举报
0/150
提交
取消