У вас есть цикл for
, который читает строки из стандартного ввода.Этот цикл будет выполняться до тех пор, пока os.Stdin
не выдаст io.EOF
(это один из случаев, когда Scanner.Scan()
вернет false
).Обычно этого не происходит.
Если вы хотите «смоделировать» конец ввода, нажмите Ctrl + Z в Windows или Ctrl + D в системах Linux / Unix.
Поэтому введите несколько строк (каждая «закрыта» на Введите ), и когда вы закончите, нажмитевышеупомянутый ключ.
Пример вывода:
Type Some Text
a
a
bb
bb
bbb <-- CTRL+D pressed here
2 a
2 bb
Другой вариант - использовать «специальное» слово для завершения, например "exit"
.Это может выглядеть так:
for input.Scan() {
line := input.Text()
if line == "exit" {
break
}
counts[line]++
}
Тестирование:
Type Some Text
a
a
bb
bb
bbb
exit
2 a
2 bb