【问题标题】:Cannot print array slice无法打印数组切片
【发布时间】: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(""),你会看到你的预期结果出现了。似乎程序在缓冲区被刷新之前退出了。此外,当我在本地执行时,它按预期工作。

标签: arrays go slice


【解决方案1】:

几个月后(2017 年 6 月),即使是 original example 也可以与 golang/playground 的当前迭代一起使用。

这意味着 fmt.Println 作为 main() 的最后一条指令后的刷新问题已得到修复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-22
    • 2012-11-10
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多