为了账号安全,请及时绑定邮箱和手机立即绑定

Go中结构数组的索引超出范围

Go中结构数组的索引超出范围

Go
慕容708150 2021-07-30 22:13:26
我是 Go 的新手,所以希望我能弄清楚我遇到的这个问题。我的问题是我试图迭代一个结构数组,但我一直遇到index out of range问题。出于这个问题的目的,我已经验证我的数组不是空的,但它实际上确实包含至少一个Services结构,并且file_content是包含我的有效字符串的字符串JSON这是代表我遇到的问题的代码片段:type service_config struct {    Services []struct {        Name    string        Command string        Request map[string]interface{}    }}var ServiceConf = service_config{}err_json := json.Unmarshal(file_content, &ServiceConf)for _, s := range ServiceConf.Services {  log.Println(s)}所以每次我运行我的代码时,我都会得到:2014/03/14 18:19:53 http: panic serving [::1]:65448: runtime error: index out of range{  "services" : [    {      "name": "translation",      "command": "to german",      "request": {        "key": "XXX",        "url": "https://www.googleapis.com/language/translate/v2?"      }    }  ]}
查看完整描述

1 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

错误来自这一行

fmt.Fprintf(w, "{ \"text\": \"Translated to German you said: '%s'\" }",
    f.Data.Translations[0].TranslatedText)

所以你没有得到任何Translations回报 - 该数组是空的。

您可能想要检查resp.Status是否返回了错误。这不会作为错误返回 - 您需要自己检查。


查看完整回答
反对 回复 2021-08-02
  • 1 回答
  • 0 关注
  • 238 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信