コマンドラインから標準入力を読み取りたいのですが、入力を求める前にプログラムが終了してしまいます。コンソール.ReadLine()C# で。
現在私が持っているものは次のとおりです:
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)
}
ベストアンサー1
ブロックの何が問題なのか分からない
reader := bufio.NewReader(os.Stdin)
fmt.Print("Enter text: ")
text, _ := reader.ReadString('\n')
fmt.Println(text)
私のマシンではうまくいきました。ただし、次のブロックでは、入力を割り当てる変数へのポインタが必要です。fmt.Scanln(text2)
を に置き換えてみてくださいfmt.Scanln(&text2)
。 は使用しないでください。Sscanln
これは、stdin からではなく、メモリに既に存在する文字列を解析します。 を置き換えて、実行しようとしていたことと同じようなことを実行してください。fmt.Scanf("%s", &ln)
それでも問題が解決しない場合は、システム設定がおかしいか、IDE にバグがある可能性があります。