登录
首页 >  Golang >  Go问答

将 bigquery.Value 类型更改为 string 数据类型

来源:stackoverflow

时间:2024-02-16 13:24:22 476浏览 收藏

目前golang学习网上已经有很多关于Golang的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文《将 bigquery.Value 类型更改为 string 数据类型》,也希望能帮助到大家,如果阅读完后真的对你学习Golang有帮助,欢迎动动手指,评论留言并分享~

问题内容

我将 BigQuery 与 Go 语言连接起来,如以下 API 文档所示, https://cloud.google.com/bigquery/docs/reference/libraries?hl=en_US

之后,我需要获取特定行和列的sql结果,并判断它是否等于特定字符串。我可以将 bigquery.Value 更改为字符串吗?该怎么做?


解决方案


了解如何使用 rowiterator.next() here

value 的类型为 interface{},因此如果您确定您拥有的值是 string str := fmt.sprintf("%v", row[i]) 应该可以工作。通常最好定义一个 struct 类型 ,它具有表示查询结果行字段的成员(根据我上面链接的文档中的表映射的类型)并将指向它的指针提供给 rowiterator.next() 而不是切片/映射bigquery.value

type myRow struct {
    Name string
    Num int
}

// ...
q := client.Query("select name, num from t1")
it, err := q.Read(ctx)
// handle err
for {
    // instead of: var row []bigquery.Value
    var row myRow // <-- use custom struct type here
    err := it.Next(&row)
    if err == iterator.Done {
        break
    }
    // handle err != nil
    someFuncThatTakesString(row.Name)
}

今天关于《将 bigquery.Value 类型更改为 string 数据类型》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>