标签:单词 ring 查看 print ret ack package targe 语言
练习:映射
实现
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即可。
标签:单词 ring 查看 print ret ack package targe 语言
原文地址:https://www.cnblogs.com/xiaolanshu/p/10605493.html