Go 从函数返回数据

Go 从函数返回数据,go,Go,我试图从函数返回数据。在本例中,我在Blockchain.info上查找比特币地址,我想做的是调用该函数,将地址传递给它,然后在我可以使用的变量中返回最终余额。有人能告诉我我做错了什么吗 package main import ( "fmt" "io/ioutil" "net/http" "os" ) func getbalance(address string) { response, err := http.Get("https://blockchain.in

我试图从函数返回数据。在本例中,我在Blockchain.info上查找比特币地址,我想做的是调用该函数,将地址传递给它,然后在我可以使用的变量中返回最终余额。有人能告诉我我做错了什么吗

package main

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

func getbalance(address string) {
  response, err := http.Get("https://blockchain.info/q/addressbalance/" + address)
  if err != nil {
      fmt.Printf("%s", err)
      os.Exit(1)
  } else {
      defer response.Body.Close()
      contents, err := ioutil.ReadAll(response.Body)
      if err != nil {
          fmt.Printf("%s", err)
          os.Exit(1)
      }
      fmt.Printf("%s\n", string(contents))
      return string(contents)
  }
}


func main() {
  finalB := getbalance("1A63imbiQBtsnTqtUpuUT5WL2Ti7oKNLeg")
  fmt.Printf("Final Balance: %s", finalB)
}

您的函数不返回任何内容:

func getbalance(address string) {
   ....
}
函数签名,返回字符串:

func getbalance(address string) string {
  ...
}

我建议您学习basic

还要注意,调用
os.Exit
将立即退出程序,因此不需要使用大的
else
块。这并不重要,因为代码很小很简单,但为了将来参考,最好控制流返回
(字符串,错误)
并调用
os。如果出错,从主函数退出
。请接受。如果你对围棋有哪怕是最微不足道的理解,这个问题也不会被问到。