Go指南中的练习:map
来源:互联网 发布:电脑软件自己开 编辑:程序博客网 时间:2024/05/04 21:53
练习:map
实现 WordCount
。它应当返回一个含有 s
中每个 “词” 个数的 map。函数wc.Test
针对这个函数执行一个测试用例,并输出成功还是失败.你会发现strings.Fields 很有帮助。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
在题目中提示可以使用strings.Fields,那我们现在查一查这个函数
func Fields
func Fields(s string) []string
Fields splits the string s around each instance of one or more consecutive white space characters, as defined by unicode.IsSpace, returning an array of substrings of s or an empty list if s contains only white space.
看来还不错,这个函数对完成这个练习非常有帮助,通过介绍可以看出使用这个函数输入一个字符串,在内部使用空格将其分割,输出一个字符数组
这是练习给出的参考模版
package mainimport ("golang.org/x/tour/wc")func WordCount(s string) map[string]int {return map[string]int{"x": 1}}func main() {wc.Test(WordCount)}
下面是实现的代码,经过验证可以通过
题外话:觉得Go指南真的做得很用心呀,运行给出的结果非常清楚直接
package mainimport ("fmt""strings")func main(){s := "I love my work and I"res := WordCount(s)fmt.Println(res)}func WordCount(s string) map[string]int {s_arr := strings.Fields(s)//分割字符串为字符数组s_map := make(map[string]int)//建立map//对s_arr中的每个字符进行循环for i:= 0; i<len(s_arr); i++ {if s_map[s_arr[i]] == 0 { //当还没有统计过该字符时,赋值为1s_map[s_arr[i]] = 1} else { //当统计过该字符时,更新计数值+1s_map[s_arr[i]] = s_map[s_arr[i]] + 1}}return s_map}
0 0
- Go指南中的练习:map
- Go指南练习之《map》
- Go指南中的练习:Stringers
- go语言指南的练习
- Go指南练习之《slice》
- Go指南练习之《Stringers》
- Go指南练习之《错误》
- Go指南练习之《斐波纳契闭包》
- Go指南练习之《Reader》
- Go指南练习之《rot13Reader》
- Go指南练习之《图片》
- Go指南练习之《斐波纳契闭包》
- Go指南—练习:rot13Reader
- Go 中的 map 并发存取
- Go语言中的map用法
- Go指南练习之《循环和函数》
- Go指南练习之《HTTP 处理》
- Go指南练习之《等价二叉树》
- 字符输入和输出(代码片段)
- 汇编:从9个有符号数中找出最小数,并将最小数与负数的个数以十进制的形式显示到屏幕上
- JavaScript 执行覆盖测试分析
- 在网页中嵌入地图
- 张先生和王某夫妇的债务纠纷
- Go指南中的练习:map
- 软件工程之项目管理
- mysql sharding
- JS 获取滚动条位置
- 44.Swap Nodes in Pairs
- Android平台免Root无侵入AOP框架Dexposed使用详解
- python爬虫-第一步,获取页面
- HTTP协议详解
- javascript类的创建方法详解