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 系统 24h2 专业工作站版,浏览文件夹的图库,视频,图片之类的怎样删除?
  • ¥15 怎么把512还原为520格式
  • ¥15 MATLAB的动态模态分解出现错误,以CFX非定常模拟结果为快照
  • ¥15 求高通平台Softsim调试经验
  • ¥15 canal如何实现将mysql多张表(月表)采集入库到目标表中(一张表)?
  • ¥15 wpf ScrollViewer实现冻结左侧宽度w范围内的视图
  • ¥15 栅极驱动低侧烧毁MOSFET
  • ¥30 写segy数据时出错3
  • ¥100 linux下qt运行QCefView demo报错
  • ¥50 F1C100S下的红外解码IR_RX驱动问题