doujiao3346 2018-03-28 06:04
浏览 21
已采纳

如何在golang中从查询结果中检查相同值并捕获第一个值

Please help me, how to check same value from query and just catch first value in golang or python

{ "data":[ "1234567001", "1234567001", "1234567001", "1234567001", "4567898001", "4567898001", "4567898001" ] }

how to get 2 different values from the data, using go lang

vals := []interface{}{}
for _, row := range result {
    nobil := row.Nobilling
    vals = append(vals, nobil)

    if nobil == row.billing {
        continue
    }

    i++
}

I just want to store different values ​​from the array

  • 写回答

1条回答 默认 最新

  • douwei9973 2018-03-28 13:03
    关注

    I think you might be looking for reflection in go... I say "think" because the way you worded the question is confusing. Something like this?

    res := []interface{}{
        1,
        "row2",
        struct { str string } { str: "what the heck???" },
    }
    // one way of reflecting
    for i, v := range res {
        if r, ok := v.(int); ok {
            fmt.Printf("%d: You have an int: %d
    ", i, r)
        } else if r, ok := v.(string); ok {
            fmt.Printf("%d: You have a string: %q
    ", i, r)
        } else {
            fmt.Printf("%d: Have no idea what this type is: %T
    ", i, v)
        }
    }
    // a cleaner way of reflecting (in my opinion)
    for i, v := range res {
        switch r := v.(type) {
        case int:
            fmt.Printf("%d: You have an int: %d
    ", i, r)
        case string:
            fmt.Printf("%d: You have a string: %q
    ", i, r)
        default:
            fmt.Printf("%d: Have no idea what this type is: %T
    ", i, v)
        }
    } 
    

    Check it in the playground: https://play.golang.org/p/ca7umhCBXt3

    or here in the "Tour of Go": https://tour.golang.org/methods/16

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵