LearnGoDonovan/ch1/dup1.go

29 строки
737 B
Go
Исходник Постоянная ссылка Обычный вид История

2021-11-17 23:46:16 +00:00
// Dup1 выводит текст каждой строки, которая появляется
// в стандартном выводе более одного раза, а также
// колличество её появлений.
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
counts := make(map[string]int)
input := bufio.NewScanner(os.Stdin)
for input.Scan() {
counts[input.Text()]++
// Тоже самое можно записать как:
// line := input.Text()
// counts[line] = counts[line] + 1
}
// Примечание: игнорируем потенциальные
// ошибки из input.Err()
for line, n := range counts {
if n > 1 {
fmt.Printf("%d\t%s\n", n, line)
}
}
}