Я хотів би прочитати стандартний ввід з командного рядка, але мої спроби закінчуються тим, що програма закінчується, перш ніж мене запросять на введення. Я шукаю еквівалент Console.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)
}
bufio
буферизацію будь-якого зчитувача (наприклад bufio.NewReader(os.Stdin)
) з прямим зчитуванням з підкреслювального читача (наприклад, fmt.Scanln(x)
безпосередньо зчитується з os.Stdin
). Буферизація може читатися довільно далеко вперед. (У цьому конкретному випадку пізніше слід fmt.Fscanln(reader,x)
читати з того самого буфера).
fmt.Sscanln
робіт, після запуску він стає "% v"