无法打印数组切片
Posted
技术标签:
【中文标题】无法打印数组切片【英文标题】:Cannot print array slice 【发布时间】:2017-06-13 08:07:04 【问题描述】:我正在使用 Go 语言,使用它的在线游乐场。
package main
import "fmt"
func main()
primes := [6]int2, 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("")
,你会看到你的预期结果出现了。似乎程序在缓冲区被刷新之前退出了。此外,当我在本地执行时,它按预期工作。
【参考方案1】:
几个月后(2017 年 6 月),即使是 original example 也可以与 golang/playground
的当前迭代一起使用。
这意味着 fmt.Println
作为 main() 的最后一条指令后的刷新问题已得到修复。
【讨论】:
以上是关于无法打印数组切片的主要内容,如果未能解决你的问题,请参考以下文章