gpt4 book ai didi

sql - 像 python 风格一样获取行

转载 作者:数据小太阳 更新时间:2023-10-29 03:44:33 24 4
gpt4 key购买 nike

在 python 中,它是一个简单的 db.query("SELECT id,login,password FROM Users") 和返回列表 [(1,'root','password'), ( 2,'toor','密码')]。我可以简单地迭代它

for user in response:print("id: %s, login: %s, password: %s", %(user[0],user[1],user[2]))

但是在 Golang 中我找不到相关的简单方法的例子。

我知道 python 有动态类型,golang 是静态的。所以我在寻找答案,也许有些图书馆提供这样的功能?黑客?谢谢解答!

最佳答案

你需要这样的东西,但如果你使用复杂的 mysql 数据类型,如枚举、集合等,可能会有问题。

var (
result [][]string
container []string
pointers []interface{}
)

rows, err := db.Query("SELECT id, login, password FROM Users")

if err != nil {
panic(err.Error())
}

cols, err := rows.Columns()

if err != nil {
panic(err.Error())
}

length := len(cols)

for rows.Next() {
pointers = make([]interface{}, length)
container = make([]string, length)

for i := range pointers {
pointers[i] = &container[i]
}

err = rows.Scan(pointers...)

if err != nil {
panic(err.Error())
}

result = append(result, container)
}

然后你可以遍历结果并使用 fmt 包打印它。

关于sql - 像 python 风格一样获取行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43685787/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com