ちょっとしたprintデバッグをしているときに、一時的に入力待ちをしたいときがあります。C言語ならgetchar()
ruby ならgets
とかを使いますが、Goではそのような関数やメソッドはりませんので、自作することになります。以下ではbufio.Scanner
を使って入力待ちをしています。
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
fmt.Print("input? ")
// Scannerを使って一行読み
scanner := bufio.NewScanner(os.Stdin)
scanner.Scan()
fmt.Println("input is", scanner.Text())
}
入力データが不要なら bufio.NewScanner(os.Stdin).Scan()
でいいかもしれないですね。