【发布时间】:2017-06-13 08:07:04
【问题描述】:
我正在使用 Go 语言,使用它的在线游乐场。
package main
import "fmt"
func main() {
primes := [6]int{2, 3, 5, 7, 11, 13}
var s []int = primes[1:6]
fmt.Println(s)
}
此代码不打印任何内容。将切片范围更改为其他内容,例如 [2:6] 按预期工作。我只使用 Go 游乐场尝试过。 Check it here.
为什么它不打印任何东西?可能它可能是 Go 编译器或 Go Playground 错误,但我不知道该语言,所以我不确定。
【问题讨论】:
-
看起来好像以某种方式缓存了不好的结果。稍微更改源以获得新的运行显示输出:play.golang.org/p/9JCVkOwWD8
-
如果你添加一个虚拟
fmt.Println(""),你会看到你的预期结果出现了。似乎程序在缓冲区被刷新之前退出了。此外,当我在本地执行时,它按预期工作。