我的输出是
.\main1.go:8: 无效的标识符字符 U+200b
.\main1.go:8: 未定义: fmt.Print 中的 fmt
我什至在 go playground 上试过同样的 react 。
有人用相同的代码发布了答案“0 1 2 3”。
为什么我复制了相同的代码却得到了上面的结果。
package main
import "fmt"
func main() {
x := []string{"i","j","k","l"}
for v := range x {
fmt.Print(v, " ")
}
fmt.Println()
}
最佳答案
有两点需要注意:
首先:如果您使用简单的十六进制查看器查看源文件,您将在 fmt.Print(v, ""):
之前看到一些额外的十六进制字节
20 20 E2 80 8B
让我们删除它,现在我们有:
package main
import "fmt"
func main() {
x := []string{"i", "j", "k", "l"}
for v := range x {
fmt.Print(v, " ")
}
fmt.Println()
}
现在的输出是:
0 1 2 3
第二个:
但通常我们使用变量名,例如 v 表示值,var named i 表示索引,
所以看起来代码需要注意:
package main
import "fmt"
func main() {
x := []string{"i", "j", "k", "l"}
for _, v := range x {
fmt.Print(v, " ")
}
fmt.Println()
}
现在的输出是:
我 j k l
关于go - 这个 golang 代码的输出是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37486307/