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 入门指南

Go语言入门指南零基础入门 go 语言 | Golang 入门指南

Go的汇编器快速指南

Go语言连接Redis之go-redis使用指南

Go语言连接Redis之go-redis使用指南

Go语言之map练习