go 如何实现一个基本的 http 服务?

在 Go 中创建一个基本的 HTTP 服务非常简单,使用标准库中的 net/http 包即可。

下面是一个基本的示例,

演示如何在 Go 中创建一个简单的 HTTP 服务:

D:\_go\04-http 下创建 main.go

  • main.go
package main

import (
	"fmt"
	"net/http"
)

func main() {
	http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
		fmt.Fprintf(w, "Hello, World!")
	})

	fmt.Println("Server started on :8080")
	http.ListenAndServe(":8080", nil)
}

在上述示例中,我们首先导入了 net/http 包,然后使用 http.HandleFunc 函数定义一个处理函数,该函数将会在用户访问根路径时被调用,向客户端返回 “Hello, World!”。

接着,我们使用 http.ListenAndServe 函数启动一个 HTTP 服务器,监听在本地的 8080 端口上,并将请求交给之前定义的处理函数进行处理。

在命令行中,你可以进入包含该代码文件的目录,然后运行:

go run main.go

这将会启动一个 HTTP 服务器,你可以在浏览器或工具如 curl 中访问 http://localhost:8080 来查看 “Hello, World!” 的响应。

这只是一个简单的示例,你可以通过添加更多的处理函数和路由来构建更复杂的 HTTP 服务,处理不同的 URL 路径和请求方法。

参考资料

https://go.dev/doc/tutorial/add-a-test

https://www.techdatao.com/article/detail/57.html

https://go.dev/doc/tutorial/web-service-gin