2017-01-27 11 views
2

私は、オンラインプレイグラウンドを使用して、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バグかもしれませんが、私はその言語を知らないので、わかりません。

+7

何とかキャッシュされているような悪い結果に見えます。新しい実行を得るためにソースを少し変更すると出力が表示されます:https://play.golang.org/p/9JCVkOwWD8 – JimB

+0

ダミーの 'fmt.Println(" ")'を追加すると、期待した結果が表示されます。バッファがフラッシュされる前にプログラムが終了しているようです。また、私はローカルで実行すると期待どおりに動作します。 –

答えて

0

数ヶ月後(2017年6月)、original exampleでも、現在のgolang/playgroundの反復で動作します。

つまり、fmt.Printlnがmain()の最後の命令としてフラッシュされた問題が修正されました。

関連する問題