go处理http请求
时间: 2023-09-13 08:13:18 浏览: 59
Go语言中处理HTTP请求的一种常见方式是使用标准库中的"net/http"包。以下是一个简单的示例代码,展示了如何创建一个HTTP服务器并处理GET请求:
```go
package main
import (
"fmt"
"net/http"
)
func main() {
// 注册一个处理函数,用于处理请求
http.HandleFunc("/", handler)
// 启动HTTP服务器,监听指定端口
err := http.ListenAndServe(":8080", nil)
if err != nil {
fmt.Println("服务器启动失败:", err)
}
}
// 处理函数
func handler(w http.ResponseWriter, r *http.Request) {
// 获取请求路径
path := r.URL.Path
// 根据请求路径进行不同的处理
switch path {
case "/":
fmt.Fprint(w, "欢迎访问首页!")
case "/about":
fmt.Fprint(w, "关于我们")
default:
http.NotFound(w, r)
}
}
```
在这个例子中,我们首先调用`http.HandleFunc()`函数注册一个处理函数`handler`,用于处理所有的请求。然后通过`http.ListenAndServe()`函数启动一个HTTP服务器,并指定监听的端口为8080。
在`handler`函数中,我们可以通过`http.ResponseWriter`接口向客户端发送响应,使用`http.Request`参数获取客户端的请求信息。根据请求的路径,我们可以对不同的路径进行不同的处理,例如返回不同的页面或执行相应的操作。
当我们访问"http://localhost:8080/"时,会得到一个简单的欢迎页面;访问"http://localhost:8080/about"时,会返回关于我们的信息;对于其他路径,会返回404页面不存在的错误。
这只是一个简单的示例,实际上Go语言的"net/http"包提供了丰富的功能,可以进行更复杂的HTTP请求处理和路由设置。可以根据具体需求进一步扩展和优化代码。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)