首页 > 代码库 > Exercise: Maps (单词统计)
Exercise: Maps (单词统计)
A Tour of Go
Exercise: Maps
https://tour.golang.org/moretypes/23
WordCount (单词统计) 是一个很经典的小程序了,在很多编程入门教程中都会出现。
这道题比较简单,但也有一些知识点值得一提。
上面这个答案我是参考了网上别人写的。但在参考别人之前我也自己解题了,其中,唯一不同之处是这一句:
m[word]++
我本来写的是:
_, ok := m[word] if ok { m[word]++ } else { m[word] = 1 }
这是因为我之前学过别的动态类型编程语言,如果读取一个不存在的 key, 很可能返回 nil, 因此不能直接进行计算。
但是 golang 是静态类型语言,事先已经定义了 map 里的元素类型是 int, 因此读取一个不存在的 key 返回 0, 可以直接计算。
(如果事先定义了元素类型为 bool, 则默认返回 false, 如果是 string 则返回空字符串 "")
另外,这道题提供了一个测试函数 wc.Test, 这个函数也很简单,值得看一看,有助于初步学习测试程序的写法。
https://github.com/golang/tour/blob/master/wc/wc.go
Exercise: Maps (单词统计)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。