好吧,是的,我是 golang 的新手,但不是编码,我对函数与 golang 一起工作的方式有点困惑,在这 2 周内,我有 9 次或 10 次我遇到了与函数有关的问题。 . 我不懒惰 我到处寻找例子来激励我,但它们都在一个 main() 函数下。我试图在一个函数中使用 http.get 并且许多其他函数每次我们需要使用 http.get 时都会调用这个函数,这样我们就不会一遍又一遍地重复代码..示例:(这不是实际代码)func myfunction(site) []byte { resp, err := client.Get(site) // client is because Im tunneling thing on a proxy TOR and had to create some helpers.. but this is working ok. return resp}func magic(staff) string { // do things and create websiteurl with staff and onther contants site := myfunction(website) contents, err := html.Parse(site.Body) //.... //.... return result}main() { //... stuff happens :)}好吧,错误是例如因为我不断改变事物并得到不同的错误。或者根本没有..但没有结果..不能使用resp.Body(类型io.ReadCloser)作为[]byte返回参数的类型。/gobot.go:71:不能使用站点(类型[]byte)作为html.Parse参数中的io.Reader类型:当我第一次没有遇到错误时,Site.Body 在解析时不会做任何事情......我把几个调试打印到 STDOUT,我得到了两个数字序列的结果。所以基本上我如何将查询的“结果”从一个函数返回到原始函数,以便可以解析和使用它?我讨厌重复代码,因此试图将重复代码保留在一个函数中,并在需要时调用它。
1 回答
九州编程
TA贡献1785条经验 获得超4个赞
myfunction有错误的返回类型。而不是[]byte它应该返回*http.Response。
func myfunction(site string) *http.Response {
resp, err := client.Get(site)
if err != nil {
log.Fatal(err)
}
return resp
}
- 1 回答
- 0 关注
- 295 浏览
添加回答
举报
0/150
提交
取消