作者:Wi俏娃寒躯 | 来源:互联网 | 2023-07-18 17:35
源地址https:tour.go-zh.orgmoretypes23一、题目描述实现WordCount。它应当返回一个映射,其中包含字符串s中每个“单词”的个数。函数wc.T
源地址 https://tour.go-zh.org/moretypes/23
一、题目描述
实现 WordCount
。它应当返回一个映射,其中包含字符串 s
中每个“单词”的个数。函数 wc.Test
会对此函数执行一系列测试用例,并输出成功还是失败。
你会发现 strings.Fields 很有帮助。
![](https://img.php1.cn/3cd4a/1eebe/cd5/3e641eb5f5c8cd90.webp)
二、分析
- 用strings.Fields获取字符串的分割信息;
- 以位形式返回;
- 计算字符串中单个单词出现的次数。
三、Go代码
package main
import (
"golang.org/x/tour/wc"
"strings"
)
func WordCount(s string) map[string]int {
m := make(map[string]int) // 创建映射
c := strings.Fields(s) // 以[]byte形式返回
for _, v := range c { //每出现相同的单词(字符串)
m[v] += 1 //出现次数就 + 1
}
return m
}
func main() {
wc.Test(WordCount)
}
运行结果
![](https://img.php1.cn/3cd4a/1eebe/cd5/1e3db12dd78db092.webp)