Go指南练习_映射

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

一、题目描述

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

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

二、分析

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

运行结果

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏软件开发 -- 分享 互助 成长

C++ string类的学习

string类对于处理字符串的一些应用非常的方便,我个人感觉,string和字符数组const char *很像,而且又比字符数组用起来方便的多。 注意其删除,...

3189
来自专栏博客园

Mongo字符串类型的数值查询---$Where查询介绍

​        在Mongo中都知道字符串类型大小比较都是以ASCII进行比较的,所以无法真实比较字符串类型的数值大小

1304
来自专栏Petrichor的专栏

tensorflow: 对variable_scope进行reuse的两种方法

在tensorflow中,为了 节约变量存储空间 ,我们常常需要通过共享 变量作用域(variable_scope) 来实现 共享变量 。

715
来自专栏hh

mysql-innodb关键特性

1.插入缓冲(insert buffer):数据页一样,是物理页的一个组成部分,其数据结构是一棵B+树,存放在ibdata1(共享表空间)中。

3676
来自专栏数说戏聊

01.loc & iloc & ix 区别使用标签选取数据

当用行号索引的时候, 尽量用 iloc 来进行索引; 而用标签索引的时候用 loc , ix 尽量别用。

692
来自专栏hbbliyong

Oracle字符串函数

Oracle字符串函数 平常我们用Oracle主要有两种字符串类型 1.char始终为固定的长度,如果设置了长度小于char列的值,则Oracle会自动用空格填...

3646
来自专栏高性能服务器开发

Linux内核中的printf实现

参数中明显采用了可变参数的定义,而在main.c函数的后面直接调用了printf函数,我们可以看下printf函数的参数是如何使用的。

762
来自专栏欧科云

CentOS下常用编辑命令-vi

551
来自专栏王亚昌的专栏

类静态指针的申请和释放

     如果类有一个静态成员指针变量,在进程中执行new或malloc操作分配了内存,进程退出前并不需要调用new或malloc,因为系统会自动进行释放。但这...

842
来自专栏简书专栏

基于Python的mysql与excel互相转换

getConn函数获取mysql连接,第1个参数database为要连接的数据库。 mysql2excel函数完成主要转换功能,第1个参数database为要...

1102

扫码关注云+社区