使用golang编写server
时间: 2024-03-05 21:18:16 浏览: 80
go-oauth2-server:使用Golang编写的独立的,符合规范的OAuth2服务器
使用Golang编写一个简单的HTTP服务器可以有多种方式。下面是两种常见的实现方式:
第一种方式是使用`http.HandleFunc`函数和一个处理函数来实现。代码如下所示:
```go
package main
import (
"fmt"
"net/http"
)
func indexHandler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "hello world")
}
func main() {
http.HandleFunc("/", indexHandler)
http.ListenAndServe(":8000", nil)
}
```
在这个例子中,我们定义了一个`indexHandler`函数来处理根路径的请求。当有请求到达时,`indexHandler`函数会将"hello world"作为响应写入到`http.ResponseWriter`中。
第二种方式是使用自定义的处理器类型和`http.Handle`函数来实现。代码如下所示:
```go
package main
import (
"fmt"
"net/http"
)
type indexHandler struct {
content string
}
func (ih *indexHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, ih.content)
}
func main() {
http.Handle("/", &indexHandler{content: "hello world!"})
http.ListenAndServe(":8001", nil)
}
```
在这个例子中,我们定义了一个`indexHandler`类型,并实现了`ServeHTTP`方法。当有请求到达时,`ServeHTTP`方法会将`indexHandler`的`content`字段作为响应写入到`http.ResponseWriter`中。
无论是哪种方式,我们都需要使用`http.ListenAndServe`函数来启动服务器。这个函数会监听指定的地址,并将请求交给指定的处理器来处理。
希望这个例子能帮助你理解如何使用Golang编写一个简单的HTTP服务器。
#### 引用[.reference_title]
- *1* *2* *3* [golang http Server介绍](https://blog.csdn.net/zrg3699/article/details/122280399)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文