Go
Консольный ввод-вывод
Поиск…
Чтение ввода с консоли
Использование scanf
Scanf сканирует текст, считанный со стандартного ввода, сохраняя последовательные значения, разделенные пробелами, в последовательные аргументы, определяемые форматом. Он возвращает количество успешно проверенных элементов. Если это меньше, чем число аргументов, err сообщает о том, почему. Новые строки ввода должны соответствовать новым строкам в формате. Единственное исключение: глагол% c всегда сканирует следующую руну на входе, даже если это пробел (или табуляция и т. Д.) Или новая строка.
# Read integer
var i int
fmt.Scanf("%d", &i)
# Read string
var str string
fmt.Scanf("%s", &str)
Использование scan
Сканирование сканирует текст, считанный со стандартного ввода, сохраняя последовательные значения, разделенные пробелами, в последовательные аргументы. Новые строки считаются пробелом. Он возвращает количество успешно проверенных элементов. Если это меньше, чем число аргументов, err сообщает о том, почему.
# Read integer
var i int
fmt.Scan(&i)
# Read string
var str string
fmt.Scan(&str)
Использование scanln
Sscanln похож на Sscan, но останавливает сканирование в новой строке, и после последнего элемента должна быть новая строка или EOF.
# Read string
var input string
fmt.Scanln(&input)
Использование bufio
# Read using Reader
reader := bufio.NewReader(os.Stdin)
text, err := reader.ReadString('\n')
# Read using Scanner
scanner := bufio.NewScanner(os.Stdin)
for scanner.Scan() {
fmt.Println(scanner.Text())
}