gpt4 book ai didi

go - 如何阅读 Go 文档?

转载 作者:IT王子 更新时间:2023-10-29 00:54:42 26 4
gpt4 key购买 nike

我创建了一个简单的 go 程序(基本上只是示例代码):

package main

import (
"fmt"
"io/ioutil"
"net/http"
)

func getPage(url string) (body []byte, err error) {
resp, err := http.Get(url)

body = nil

if (err != nil) {
return
}

defer resp.Body.Close()
body, err = ioutil.ReadAll(resp.Body)

return
}

func main() {
startUrl := "http://slashdot.org/"

body, err := getPage(startUrl)

if (err != nil) {
fmt.Println("Error: " , err)
}

fmt.Println(body)
}

我正在尝试浏览文档以了解它们是如何组合在一起的。

第一期:http.Get()。它不在文档中(位于 http://golang.org/pkg/net/http/ )。除了它是,但在响应下。但是还有 2 个其他 Get() 函数。我怎么知道 net/http.Get 实际上是 Response 类型上的 Get()?

无论如何,http.Get() 返回一个带有io.ReadCloserBody 的响应。 ioutil.ReadAll() 采用 io.Reader - 但我如何才能找到接受它作为参数的其他函数?文档似乎是“倒退”的——如果我知道我想要哪个函数,我可以找到文档,但如果我有一个类型,我如何才能找到哪些函数适用于它?

最佳答案

函数定义如下:

func (c *Client) Get(url string) (resp *Response, err error)
func (h Header) Get(key string) string
func Get(url string) (resp *Response, err error)

参见 how functions are declared .

func 和函数名称 (Get) 之间,您有接收器类型和名称(在括号之间)。这些函数中只有一个没有接收器,必须直接以包名称 (http) 为前缀调用。这就是您需要的。

关于go - 如何阅读 Go 文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15434022/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com