正在自学go语言,命令行执行以下程序,进入等待输入状态,请问如何处理?

package main

import (
"bufio"
"fmt"
"os"
)

func main() {
counts := make(map[string]int)
input := bufio.NewScanner(os.Stdin)
for input.Scan() {
counts[input.Text()]++
}
// NOTE: ignoring potential errors from input.Err()
for line, n := range counts {
if n > 1 {
fmt.Printf("%d\t%s\n", n, line)
}
}
}

给键盘输入加一个判断结束就可以了,然后你就正常输入,然后换行,到指定行数,就会自动运行了。
func main() {
var i = 0
counts := make(map[string]int)
input := bufio.NewScanner(os.Stdin)
for input.Scan() {
counts[input.Text()]++
i += 1
if i > 5 {
break
}
}
for line, n := range counts {
if n > 1 {
fmt.Printf("%d\t%s\n", n, line)
}
}
}
localhost% go run dup1.go
this is a test
this is a test
this is a test
this is not a test
this is not a test
this is not a test
3 this is a test
3 this is not a test