コマンドラインから標準入力を読み取りたいのですが、入力を求めるプロンプトが表示される前にプログラムが終了するため、試行が終了しました。C#でConsole.ReadLine()に相当するものを探しています。
これは私が現在持っているものです:
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
fmt.Print("Enter text: ")
text, _ := reader.ReadString('\n')
fmt.Println(text)
fmt.Println("Enter text: ")
text2 := ""
fmt.Scanln(text2)
fmt.Println(text2)
ln := ""
fmt.Sscanln("%v", ln)
fmt.Println(ln)
}
bufio
任意のリーダー(例えばのバッファリングをbufio.NewReader(os.Stdin)
直接的には下線リーダー(例えばからの読み取りで)fmt.Scanln(x)
から直接読み込みますos.Stdin
)。バッファリングは、はるか先に任意に読み取る場合があります。(この特定のケースでは、後者はfmt.Fscanln(reader,x)
同じバッファーから読み取る必要があります)。
fmt.Sscanln
動作しません。実行すると "%v"になります