我写了一个我在游乐场看到的问题的例子:https: //play.golang.org/p/rPCqAC56Ff
这很明显,但是我在if语句之外声明一个变量,在if中设置变量然后在if之外使用.
问题很简单,为什么这不起作用?
package main
import (
"fmt"
"os"
)
func main() {
var foo string
if true {
foo = "foo"
} else {
foo, found := os.LookupEnv("GOPATH")
if !found {
fmt.Printf("who cares.\n")
}
}
println(foo)
}
Run Code Online (Sandbox Code Playgroud)
你正在创建一个新的变量foo在if 块 与:=
foo, found := os.LookupEnv("GOPATH")
Run Code Online (Sandbox Code Playgroud)
正确的代码:
package main
import (
"fmt"
"os"
)
func main() {
var foo string
var found bool
if true {
foo = "foo"
} else {
foo, found = os.LookupEnv("GOPATH")
if !found {
fmt.Printf("who cares.\n")
}
}
println(foo)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
126 次 |
| 最近记录: |