查询的命令行参数

时间:2019-12-18 22:21:09

标签: go

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

for c in {a..z}; do u=$(echo ${c} | tr a-z A-Z); echo "fragment ${u}: '${c}' | '${u}';"; done

我知道Go具有os软件包,然后可以在其中传递类似以下内容的信息:

SELECT * FROM table where id = 2;

这是我当前正在使用的代码。如何为查询设置命令行参数?

    args := os.Args
    if len(args) < 2 {
        fmt.Println("Supply ID")
        os.Exit(1)
    }
    testID := os.Args[1]
    fmt.Println(testID)
}

2 个答案:

答案 0 :(得分:1)

只需将参数添加到Query

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

答案 1 :(得分:-1)

testID必须是和interface {}类型并添加到查询

var testID interface{}
testID  = os.Args[1]

并添加到查询

rows, _ := db.Query("SELECT * FROM table where id = ?;", testID)

编辑: 为什么要使用界面{}?

查询函数接受参数中的interface {}类型。 More info