Go指南map 练习 wc

1.题目描述

练习:map
实现 WordCount。它应当返回一个含有 s 中每个 “词” 个数的 map。函数 wc.Test 针对这个函数执行一个测试用例,并输出成功还是失败。

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

1.给出的示例

package main

import (
    "golang.org/x/tour/wc"
)

func WordCount(s string) map[string]int {
    return map[string]int{"x": 1}
}

func main() {
    wc.Test(WordCount)
}

2.解答

package main

import (
    "fmt"
    "strings"
)

func main() {
    s := "I love my work and I"
    res := WordCount(s)
    fmt.Println(res)
}

func WordCount(s string) map[string]int {
    //  strings.Fields 以空格分隔字符串,返回[]string
    s_arr := strings.Fields(s)    //分割字符串为字符数组
    s_map := make(map[string]int) //建立map
    //对s_arr中的每个字符进行循环
    for i := 0; i < len(s_arr); i++ {
        if s_map[s_arr[i]] == 0 { //当还没有统计过该字符时,赋值为1
            s_map[s_arr[i]] = 1
        } else { //当统计过该字符时,更新计数值+1
            s_map[s_arr[i]] = s_map[s_arr[i]] + 1
        }
    }

    return s_map
}

3. 查看官网api说明

https://gowalker.org/

Go指南map 练习 wc_第1张图片
image.png

Go指南map 练习 wc_第2张图片
image.png

你可能感兴趣的:(Go指南map 练习 wc)