go指南:映射练习
xuing · · 2370 次点击 · · 开始浏览题目
题目地址https://tour.go-zh.org/moretypes/23
练习:映射
实现 WordCount。它应当返回一个映射,其中包含字符串 s 中每个"单词"的个数。函数 wc.Test 会对此函数执行一系列测试用例,并输出成功还是失败。
你会发现 strings.Fields 很有帮助。
答案
package main
import (
"golang.org/x/tour/wc"
"strings"
)
func WordCount(s string) map[string]int {
sFields := strings.Fields(s)
var resMap = map[string]int{}
for _,v := range sFields{
resMap[v] ++
}
return resMap
}
func main() {
wc.Test(WordCount)
}
分析
String.Fields
按我的理解就是 将一个字符串,以空格为分隔符,分割为数组。
思路
然后将传过来的字符串拆分为数组后,将对应的Map对应key的值进行+1操作,这里的技巧是没有初始化的key,默认值为0.
降低IDE的Unused错误等级
话说用intellij的IDE goland,会经常报Unused错误,就是说没用使用,但问题我只是还没写完,然后因为是初学golang,以为是什么了不起的错误,就很浪费时间。
如图可以将其改为Warning,Ctrl+Alt+S 打开设置
还可以用Ctrl+Shift+A,进行搜索,如图
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
题目
题目地址https://tour.go-zh.org/moretypes/23
练习:映射
实现 WordCount。它应当返回一个映射,其中包含字符串 s 中每个"单词"的个数。函数 wc.Test 会对此函数执行一系列测试用例,并输出成功还是失败。
你会发现 strings.Fields 很有帮助。
答案
package main
import (
"golang.org/x/tour/wc"
"strings"
)
func WordCount(s string) map[string]int {
sFields := strings.Fields(s)
var resMap = map[string]int{}
for _,v := range sFields{
resMap[v] ++
}
return resMap
}
func main() {
wc.Test(WordCount)
}
分析
String.Fields
按我的理解就是 将一个字符串,以空格为分隔符,分割为数组。
思路
然后将传过来的字符串拆分为数组后,将对应的Map对应key的值进行+1操作,这里的技巧是没有初始化的key,默认值为0.
降低IDE的Unused错误等级
话说用intellij的IDE goland,会经常报Unused错误,就是说没用使用,但问题我只是还没写完,然后因为是初学golang,以为是什么了不起的错误,就很浪费时间。
如图可以将其改为Warning,Ctrl+Alt+S 打开设置
还可以用Ctrl+Shift+A,进行搜索,如图