2
我在阅读由Sau Sheong Chang编写的Go Web Programming。这里,是从请求体中读取数据的示例代码:转到:http.Request中的读取方法
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()
}
根据定义,在Request
结构中的Body
场实际上是一个 io.ReadCloser
接口。我的问题是:此接口中的Read
方法只是声明但未实现。同时代码运行良好。 Read
方法的实现必须在某处完成。它在哪里?
此外,在每个接口中,每个方法只是声明,但未实现。 –
我会从https://golang.org/src/net/http/request.go开始搜索 –