我在使用Golang远程连接mysql数据库时无法编译Google-Cloud提供的代码。
该代码是从此处直接复制粘贴的:https://cloud.google.com/sql/docs/mysql/connect-external-app#go
。也可能会在这里看到:https://github.com/GoogleCloudPlatform/cloudsql-proxy/blob/master/proxy/dialers/mysql/hook_test.go
。
我尝试在下面的第一行中提供第二个变量,但是由于mysql函数仅返回一个值,因此出现错误。
麻烦的代码在第二行,可能是由于第一行所致。
cfg := mysql.Cfg("haveibeenexploited:us-west1:hibe", "username", "password")
cfg.DBName := "mythril"
db, err := mysql.DialCfg(cfg)
searchcontract/searchcontract.go:67:5: non-name cfg.DBName on left side of :=
是我收到的错误消息。
答案 0 :(得分:0)
更改此行代码:
cfg.DBName := "mythril"
收件人:
cfg.DBName = "mythril"
:=
运算符声明一个新变量并为其分配一个值。这称为“短变量声明”。由于DBName
是结构cfg
的一部分,因此您使用了错误的运算符。正确使用的运算符是赋值运算符=
。