A Tour of Go : Exercise: Maps

A Tour of Go系列。如有问题欢迎指出~


Tour第二篇,直接贴代码吧,同样很简单。

 1 package main
 2 
 3 import (
 4     "code.google.com/p/go-tour/wc"
 5     "strings"
 6 )
 7 
 8 func WordCount(s string) map[string]int {
 9     cntWord:=make(map[string]int)
10     for _,v:=range strings.Fields(s){
11         cntWord[v]+=1
12     }
13     return cntWord
14 }
15 
16 func main() {
17     wc.Test(WordCount)
18 }

Run一下将输出:

PASS
 f("I am learning Go!") = 
  map[string]int{"I":1, "learning":1, "Go!":1, "am":1}
PASS
 f("The quick brown fox jumped over the lazy dog.") = 
  map[string]int{"over":1, "lazy":1, "quick":1, "brown":1, "the":1, "dog.":1, "fox":1, "jumped":1, "The":1}
PASS
 f("I ate a donut. Then I ate another donut.") = 
  map[string]int{"donut.":2, "another":1, "ate":2, "Then":1, "I":2, "a":1}
PASS
 f("A man a plan a canal panama.") = 
  map[string]int{"plan":1, "man":1, "A":1, "panama.":1, "a":2, "canal":1}

注意:

  • 初始化map应用make这个built-in的函数,其返回生成map的引用。map中的值被自动初始化为0(值为int类型是时,其他类型类似)
  • 第10行的for _,v:=...中的"_"类似于Lua中的哑元,函数返回时该位置的值将被略过。
  • strings.Fields函数将一个string根据其中的空白字符将其分成一个[]string数组,类似于split

转载于:https://www.cnblogs.com/so-what/archive/2012/10/10/2719086.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值