根据if else设置变量[复制]

问题描述 投票:-8回答:1

这个问题在这里已有答案:

我想根据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)

在编译期间,我回来了:

输出已声明且未使用

我明白这是因为outputok { ... }中的局部变量,这样做的正确方法是什么?

还尝试使用Output的资本,因为我必须这样做才能使struct属性可以访问。

go
1个回答
5
投票

:声明中删除=之前的if/else

:=中使用if statement和上面声明的变量,这意味着你重新声明该范围内的变量。如果你将使用=这意味着分配到已经声明的变量output

在这里阅读:Short variable declarations vs Assignmets

© www.soinside.com 2019 - 2024. All rights reserved.