2013-07-17 9 views
15

Go Consoleプログラムを実行すると、ちょうど1秒後に実行されます。私はGoogle、GoのウェブサイトとStackoverflowを探しています。Goプログラムに一時停止を追加するには?

import (
    "fmt" 
) 

func main() { 
    fmt.Println() 
} 

私はそれを実行するとすぐに閉じます。

EDIT 2 は実際に私が永久にユーザーがあなたがtime.Sleep()を使って、任意の長い時間のためのプログラムを一時停止することができ、ボタン

答えて

36

を押す刚性一時停止滞在するプログラムを望んでいました。たとえば、次のように

package main 
import ("fmt" 
     "time" 
     ) 

func main() { 
    fmt.Println("Hello world!") 
    duration := time.Second 
    time.Sleep(duration) 
} 

任意にあなたができる時間を長くするには、次の

duration := time.Duration(10)*time.Second // Pause for 10 seconds 

EDIT:OPはもはや上記の答えが法案に合うの質問に追加の制約を追加しましたので、を。 キーを押すまで、改行(\n)文字の読み込みを待つ新しいバッファーリーダーを作成することで、一時停止することができます。

package main 
import ("fmt" 
     "bufio" 
     "os" 
     ) 

func main() { 
    fmt.Println("Hello world!") 
    fmt.Print("Press 'Enter' to continue...") 
    bufio.NewReader(os.Stdin).ReadBytes('\n') 
} 
+0

しかし、これはほんの数秒間持続し、私は鍵が – Vaderman2782

+1

@Vadeを押したときにプログラムが終了しますrman2782あなたはその質問に言及しませんでした。マイクはどのように知っていたでしょうか? – Mostafa

+0

申し訳ありません。 ... – Vaderman2782

2

最小輸入有する最も簡単な別の方法は、この2行を使用:プログラムの終了時に、この行を追加

var input string 
fmt.Scanln(&input) 

を、例えば、ENTERキーをユーザが押すまで画面を一時停止します。

package main 

import "fmt" 

func main() { 
    fmt.Println("Press the Enter Key to terminate the console screen!") 
    var input string 
    fmt.Scanln(&input) 
} 
0
package main 

import "fmt" 

func main() { 
    fmt.Println("Press the Enter Key to terminate the console screen!") 
    fmt.Scanln() // wait for Enter Key 
} 
+0

@BalagurunathanMarimuthuコード内の1つのコメントはすべて必要な説明です。私が疑問を持っているのは、これはVasの既存の答えの帰属を与えずに縮小したものにすぎないということです。 – Gimby

+0

Sory。私は答えができませんでした。評判が<50で、私は英語が分かりません) コメント...残念ですが、そこには絶対必要なコメントがたくさんありますか? 私はトランスレータを使用しています。 – mukexa