go语言指南之映射练习
Posted xiaolanshu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go语言指南之映射练习相关的知识,希望对你有一定的参考价值。
练习:映射
实现
WordCount
。它应当返回一个映射,其中包含字符串s
中每个“单词”的个数。函数wc.Test
会对此函数执行一系列测试用例,并输出成功还是失败。你会发现 strings.Fields 很有帮助。
首先,我查看了一下strings.Fields的解释。给出的函数形式如下
func Fields(s string) []string
官方还给出了例子
package main import ( "fmt" "strings" ) func main() { fmt.Printf("Fields are: %q", strings.Fields(" foo bar baz ")) }
从这个例子很容易看出,strings.Fields是将一个字符串以每个空格分隔开,形成一个string类型的切片。
所以
package main import ( "strings" "golang.org/x/tour/wc" ) func WordCount(s string) map[string]int { x:=make(map[string]int) var elem int =0 for i:= range strings.Fields(s){ elem = x[strings.Fields(s)[i]] x[strings.Fields(s)[i]]=1+elem } return x } func main() { wc.Test(WordCount) }
因为默认的键值是0,所以可以省略对其初始化。令elem等于之前key的键值,当再次出现此key时,键值+1即可。
以上是关于go语言指南之映射练习的主要内容,如果未能解决你的问题,请参考以下文章
Go语言入门指南零基础入门 go 语言 | Golang 入门指南