这是来自 GOPL 的一个例子——“表达式 x[i] 和 x + 'A' - 'a' 每个都指代来自外部块的 x 声明;我们稍后会解释这一点。”
解释永远不会到来。为什么 x[i] 指的是外部作用域中的 x?一旦您在内部块中重新声明 x,它就会遮住外部块中的 x。为什么这样做?
package main
import "fmt"
func main() {
x := "hello!"
for i := 0; i < len(x); i++ {
x := x[i]
if x != '!' {
x := x + 'A' - 'a'
fmt.Printf("%c", x)
}
}
}
http://play.golang.org/p/NQxfkTeGzA
凤凰求蛊
相关分类