代码来自GO语言圣经1.3,代码如下:
```
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
counts := make(map[string]int)
scan := bufio.NewScanner(os.Stdin)
for scan.Scan() {
counts[scan.Text()]++
fmt.Println(scan.Text())
if scan.Text() == "exit" {
break
}
}
for line, n := range counts {
if n > 1 {
fmt.Printf("%s,%d\n", line, n)
}
}
}
```
程序的正确处理:
1.重复输入行的输出。
2.输入exit时退出输入。
3.输出输入次数大于1的行,输出输入次数和次数。
******
程序可以在cmd中正常运行,也显示正确的输出。
![image.png](https://static.studygolang.com/210629/6966eea670fc210d8a05f0675df312d8.png)
但它不能在 VScode 中正确运行。
![image.png](https://static.studygolang.com/210629/4bd2e00e2c2c9db90849a32a7f3278ed.png)
VSCode不能正确重复输入行,也不能检测退出,也不能输出检测结果(重复输入的行和次数)。
请注意,我的 VSCode 可以正常运行 helloworld 程序。
![image.png](https://static.studygolang.com/210629/0076fe19185793e6ae63499caca8a491.png)
有疑问加站长微信联系(非本文作者)