我找不到一个很好的例子来说明将文本查询的字符串部分与值连接起来的正确方法。例如:
query := `SELECT column_name FROM table_name
WHERE column1_name = %d AND column2_name = %d` % (val1, val2)
rows, res, err := db.Query(query)
这不起作用。编译器syntax error: unexpected comma, expecting ) 可能返回,因为我正在尝试使用 python 样式的元组。
如果我将其重写为
query := `SELECT column_name FROM table_name
WHERE column1_name = %d AND column2_name = %d` % val1
我得到(mismatched types string and int)它告诉我元组是问题之一。
如果我首先将参数转换为字符串,我会得到 (operator % not defined on string)
在 python 中,你会做类似的事情
query = """SELECT column_name FROM table_name
WHERE column1_name = %d
AND column2_name = %d""" % (val1, val2)
或者
query = """SELECT column_name FROM table_name
WHERE column1_name = %s
AND column2_name = %s""" % (val1_string, val2_string)
我知道我可以将值转换为字符串并使用 连接"STRING" + var + "STRING",但与 python 版本相比,这似乎非常混乱。Go 中 Python 代码的等价物是什么?具体包括元组部分,并连接一个字符串和一个整数。
函数式编程
相关分类