源地址 https://tour.go-zh.org/moretypes/23

一、题目描述

实现 WordCount。它应当返回一个映射,其中包含字符串 s 中每个“单词”的个数。函数 wc.Test 会对此函数执行一系列测试用例,并输出成功还是失败。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

你会发现 strings.Fields 很有帮助。

Go指南练习_映射 go 第1张

 

二、分析

  • 用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)
}

 

运行结果

Go指南练习_映射 go 第2张

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄