无法打印数组切片

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() 的最后一条指令后的刷新问题已得到修复。

【讨论】:

以上是关于无法打印数组切片的主要内容,如果未能解决你的问题,请参考以下文章

无法通过在 node.js 中切片来修改数组

无法从数组中打印信息,无法弄清楚如何遍历存储在类中的数组?

Go笔记:切片

OCaml 数组切片?

swift问题数组无法打印到collectionviewcell标签

Golang 切片数组打印元素两数只和等于8的下标无重复字符的最长子串