请问各位大神 []interface {}提取数据问题【已解决】

Doctor_Who · 2020-03-10 17:03:20 · 934 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2020-03-10 17:03:20 的主题,其中的信息可能已经有所发展或是发生改变。

[stdl.qq.com 123.125.110.27 80]

此数据类型是 []interface {} 请问如何转提取stdl.qq.com的哪些数据?代码如下 image.png 解决代码如下

rr := make(map[string]interface{}, 0)

    if resp.StatusCode() == 200 {
        err := json.Unmarshal(resp.Body(), &rr)
        if _, courseName := rr["results"]; courseName {
            for _, domainOut := range rr["results"].([]interface{}) {
                //fmt.Println(domainOut.([]interface{})[0])//取类型的第0位置上的值
                //test := domainOut.([]interface{})[0].(string)//转换成string类型的值
                result = append(result, domainOut.([]interface{})[0].(string))
            }
        }

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

934 次点击  
加入收藏 微博
4 回复  |  直到 2020-03-10 21:03:22
jarlyyn
jarlyyn · #1 · 5年之前

fmt.Sprint(data[0])?

Doctor_Who
Doctor_Who · #2 · 5年之前

@jarlyyn 并不可以

yccphp
yccphp · #3 · 5年之前
a := []interface{}{"stdl.qq.com","123.125.110.27",80}
fmt.Println(a[0].(string)) // stdl.qq.com
qu823110460
qu823110460 · #4 · 5年之前

判断一下类型,如果确定是string,就可以直接转换 上一个恢复是整洁 switch a,(type){ case string: a[0].(string)

}

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传