在golang的sql.open函数中,如何调用变量?

huangapple go评论104阅读模式
英文:

How do I call variable in sql.open function of golang

问题

如何通过变量替换上述代码中调用实际密码的做法。

pwd := "password"
db, err := sql.Open("mysql", "root:"+pwd+"@/events")
if err != nil {
    fmt.Printf("Error: Failed to connect events schema. \n")
    return
}
defer db.Close()

将密码存储在变量pwd中,然后在连接字符串中使用该变量来替换实际密码。这样可以避免直接在代码中暴露密码,提高安全性。

英文:

How do I achieve replacing of the practice of calling actual password in above code with a variable.

pwd := "password"
    db, err := sql.Open("mysql", "root:pwd@/events")
if err != nil {
    fmt.Printf("Error: Failed to connect events schema. \n")
    return
}
defer db.Close()

答案1

得分: 3

使用 fmt.Sprintf 替代硬编码的字符串:

pwd := "password"
db, err := sql.Open("mysql", fmt.Sprintf("root:%s@/events", pwd))

文档:
https://golang.org/pkg/fmt/#Sprintf

简单的 GoPlay:
https://play.golang.org/p/TKSvTuD8BY

英文:

Instead of using the hardcoded string, use fmt.Sprintf:

pwd := "password"
db, err := sql.Open("mysql", fmt.Sprintf("root:%s@/events", pwd))

Docs:
https://golang.org/pkg/fmt/#Sprintf

Simple GoPlay:
https://play.golang.org/p/TKSvTuD8BY

huangapple
  • 本文由 发表于 2017年5月16日 20:44:28
  • 转载请务必保留本文链接:https://go.coder-hub.com/44001849.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定