gpt4 book ai didi

go - 查询的命令行参数

转载 作者:行者123 更新时间:2023-12-01 22:37:17 25 4
gpt4 key购买 nike

我正在处理一些旨在将mysql数据转储到.csv文件的代码。我想传递一个命令行arg,该命令行允许用户输入要为查询运行的ID,例如。去运行main.go 2将运行查询

SELECT * FROM table where id = 2;

我知道Go具有os软件包,然后可以在其中传递类似以下内容的信息:
    args := os.Args
if len(args) < 2 {
fmt.Println("Supply ID")
os.Exit(1)
}
testID := os.Args[1]
fmt.Println(testID)
}

这是我当前正在处理的代码。如何为查询设置命令行参数?
    rows, _ := db.Query("SELECT * FROM table where id = ?;")

err := sqltocsv.WriteFile("table.csv",rows)
if err != nil {
panic(err)
}

columns, _ := rows.Columns()
count := len(columns)
values := make([]interface{}, count)
valuePtrs := make([]interface{}, count)

for rows.Next() {
for i := range columns {
valuePtrs[i] = &values[i]
}

rows.Scan(valuePtrs...)

for i, col := range columns {
val := values[i]

b, ok := val.([]byte)
var v interface{}
if ok {
v = string(b)
} else {
v = val
}

fmt.Println(col, v)
}
}
}

最佳答案

只需将参数添加到Query:

rows, _ := db.Query("SELECT * FROM table where id = ?;", os.Args[1])

关于go - 查询的命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59400771/

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