我是golang的新手,现在开始学习。我正在阅读“The Go Programming Language”一书,并尝试在Mac上运行dup1示例。但是我注意到一个非常奇怪的问题。计数的输出包含一个额外的“D”。有人知道为什么吗?
> go run dup1New.go test
test
test
hello
hello
world
3D test
2 hello
> cat dup1New.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)
}
}
}
go版本go1.13.5 darwin/amd64
最佳答案
您从Ctrl + D获得D
字符的原因是终端设备界面中的echoctl
选项。您可以通过在shell/终端中运行以下命令轻松地将其删除:
stty -echoctl
引用:
man stty
关于go - 多余的 'D'来自dup1.go的哪里?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59624213/