我想在golang 启动http server之后,执行一段输出,但是被http方法阻塞了,怎么办
时间: 2024-05-10 17:20:39 浏览: 49
golang的httpserver优雅重启方法详解
您可以使用goroutine在http server启动后执行一段输出,而不会被http方法阻塞。
示例代码:
```go
package main
import (
"fmt"
"net/http"
)
func main() {
// 启动http server
go func() {
if err := http.ListenAndServe(":8080", nil); err != nil {
panic(err)
}
}()
// 在http server启动后执行一段输出
go func() {
fmt.Println("HTTP server started")
}()
// 防止main函数退出
select {}
}
```
在上面的示例中,我们使用了两个goroutine:一个用于启动http server,另一个用于在启动后执行输出。我们还使用`select{}`来防止main函数退出,以便http server可以一直运行。
阅读全文