【实战】Golang Web Server 开发实战教程 Golang 作为一门高性能的编程语言,受到了越来越多开发者的喜爱。本文将以 Golang 为开发语言,介绍如何开发一个简单的 Web Server。 首先,我们需要进行环境搭建。下载安装 Golang 并配置环境变量。推荐使用 Visual Studio Code 编辑器作为开发工具,并安装 Golang 插件。 接下来我们开始创建项目。 第一步,创建项目目录 webserver,并在目录下创建 main.go 文件。在 main.go 中编写以下代码: ```go package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/", handler) fmt.Println("Server is listening on port 8080...") http.ListenAndServe(":8080", nil) } func handler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello world!") } ``` 在代码中,我们使用了 Golang 标准库中的 net/http 包来处理 HTTP 请求和响应。在 main 函数中,我们调用了 http.HandleFunc 方法来定义处理请求的函数 handler,并使用 http.ListenAndServe 方法来监听 8080 端口并启动 Web 服务器。 handler 函数中,我们使用 fmt 包中的 Fprintf 方法来将 "Hello world!" 作为响应写入 ResponseWriter,发送给客户端。 现在我们来测试一下 Web 服务器是否能正常工作。在终端中执行以下命令运行程序: ```shell go run main.go ``` 打开浏览器访问 http://localhost:8080,应该能够看到浏览器上输出 Hello world!。 接下来,我们来对 Web 服务器进行一些修改,使其能够接收 POST 请求,并输出请求中的 body 内容。代码如下: ```go package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/", handler) fmt.Println("Server is listening on port 8080...") http.ListenAndServe(":8080", nil) } func handler(w http.ResponseWriter, r *http.Request) { if r.Method == "POST" { len := r.ContentLength body := make([]byte, len) r.Body.Read(body) fmt.Fprintf(w, "%s", body) } else { fmt.Fprintf(w, "Hello world!") } } ``` 在 handler 函数中,我们首先判断请求的方法是否为 POST,如果是的话,我们读取请求的 body 并将其通过 Fprintf 方法输出到 ResponseWriter 中,如果不是,就执行原有的 Hello world! 逻辑。 再次运行程序,使用 Postman 工具模拟一个 POST 请求,就可以在浏览器中看到输出的请求体内容了。 到此为止,我们已经完成了一个简单的 Golang Web 服务器实例,并学习了如何处理 HTTP 请求和响应,以及如何读取请求体内容。希望本文能够对您有所帮助。