的余额
以下是一个简单的示例代码,可以使用golang编写请求https://xchscan.com/api/account/balance?address=xch1gt7fsnepvcuyu04tx4h30luk2shckxes5az3jymx7l2pwzuxef4qkn82ar地址获取xch的余额:
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
type BalanceResponse struct {
Address string `json:"address"`
Balance uint64 `json:"balance"`
}
func main() {
address := "xch1gt7fsnepvcuyu04tx4h30luk2shckxes5az3jymx7l2pwzuxef4qkn82ar"
url := fmt.Sprintf("https://xchscan.com/api/account/balance?address=%s", address)
resp, err := http.Get(url)
if err != nil {
fmt.Println(err)
return
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println(err)
return
}
var balanceResp BalanceResponse
err = json.Unmarshal(body, &balanceResp)
if err != nil {
fmt.Println(err)
return
}
fmt.Printf("Address: %s\nBalance: %d\n", balanceResp.Address, balanceResp.Balance)
}
该程序创建了一个名为BalanceResponse
的结构体,用于解析JSON响应。然后,它使用http.Get()
函数发出GET请求,并将响应体读取到一个字节数组中。接下来,程序将响应的JSON解码为BalanceResponse
结构体,并输出地址和余额信息。
需要注意的是,此代码没有处理HTTP请求期间可能发生的错误。例如,如果请求中没有提供有效的地址,API将返回一个错误响应。因此,在实际用例中,建议在代码中添加适当的错误处理逻辑。