我想根据if / else语句将字符串设置为两种情况之一:
var output string
password, ok := m["password"]
if ok {
output := runcmd("connect.sh "+ssid+" "+password)
} else {
output := runcmd("connect.sh "+ssid)
}
fmt.Println(output)
在编译期间,我回来了:
输出已声明且未使用
我理解这是因为output
是ok { ... }
内的局部变量,这样做的正确方法是什么?
还尝试使用Output
的大写,因为我必须这样做才能使struct属性可以访问。
答案 0 :(得分:5)
删除e
声明中d'
之前的e'
。
在:
中使用上面声明的变量=
,表示您重新声明该范围内的变量。如果您将使用if/else
,这将意味着分配到已声明的变量:=
。
在此处阅读:Short variable declarations vs Assignmets