我正在阅读Sau Sheong Chang的 Go Web Programming 。以下是从请求正文中读取数据的示例代码:
import (
"fmt"
"net/http"
)
func bodyfunc(w http.ResponseWriter, r *http.Request) {
len := r.ContentLength
body := make([]byte, len)
r.Body.Read(body)
fmt.Fprintln(w, string(body))
}
func main() {
server := http.Server{
Addr: "127.0.0.1:8080",
}
http.HandleFunc("/body", bodyfunc)
server.ListenAndServe()
}
根据定义,Body
结构中的Request
字段实际上是一个
io.ReadCloser
界面。我的问题是:此接口中的Read
方法刚刚声明但未实现。同时代码运行良好。必须在某处完成Read
方法的实现。它在哪里?