Golang系列文章:接收命令行输入
发布时间:2020-12-16 09:34:00 所属栏目:大数据 来源:网络整理
导读:上次总结了收集命令行参数的几种方式,今天记录一下如何从命令行接收用户输入。 我们这里设计一个小需求,借助程序从命令行收集用户的逐行输入,以 bye 为结束信号,然后在输入结束后,统计每一行输入的内容和该内容出现的次数。 为了完成这个功能,我们首先
上次总结了收集命令行参数的几种方式,今天记录一下如何从命令行接收用户输入。 我们这里设计一个小需求,借助程序从命令行收集用户的逐行输入,以 为了完成这个功能,我们首先需要创建一个 如何从标准输入流中接收数据呢,Go提供了 下面是具体的实现过程: // scan.go package main import ( "os" "fmt" "bufio" ) func main() { // 创建一个map 指定key为string类型 val为int类型 counts := make(map[string]int) // 从标准输入流中接收输入数据 input := bufio.NewScanner(os.Stdin) fmt.Printf("Please type in something:n") // 逐行扫描 for input.Scan() { line := input.Text() // 输入bye时 结束 if line == "bye" { break } // 更新key对应的val 新key对应的val是默认0值 counts[line]++ } // 遍历map统计数据 for line,n := range counts { fmt.Printf("%d : %sn",n,line) } } 最后,我们运行程序,来看看结果: $ go run scan.go Please type in something: hello world hello bye # 输出统计结果 2 : hello 1 : world (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |