golang初学之map

package main

import (
  "strings"
  "fmt"
)

// 返回各个单词数量统计的map

func WordCount(s string) map[string]int {
  m := make(map[string] int)
  for _, word := range strings.Fields(s) {
    m[word] ++
  }
  return m
}

func main() {
  fmt.Println(WordCount("I am learning Go!"))
  fmt.Println(WordCount("How do you do?"))
}

时间: 2024-10-28 22:05:17

golang初学之map的相关文章

Golang,用map写个单词统计器

Golang中也有实用的泛型编程模板.如map.据Go官方团队称,其实现为Hash表,而非类似cpp或Java的红黑树.所以理论上速度更能快上几个等级(Hash与红黑树的效率对比可以看我的文章C++中各种<string,T>关联方式的速度对比,效率比约为3:1),但有一些区别,就是遍历时,数据是无需且随机的(当然,后文会讲到有序化的方法).接下来,我们先创建一个map对象. dict:=make(map[string]int); 由于map的强类型,所以一切类型是静态的,map也不例外.从ma

golang初学之goroutine---web爬虫

go tour 练习 https://tour.go-zh.org/concurrency/10 package main import ( "fmt" "sync" "time" ) type Fetcher interface { // Fetch 返回 URL 的 body 内容,并且将在这个页面上找到的 URL 放到一个 slice 中. Fetch(url string) (body string, urls []string, err

【GoLang笔记】实例分析GoLang built-in数据结构map的赋值引用行为

备注1:本文旨在介绍Go语言中map这个内置数据结构的引用行为,并用实例来说明如何避免这种引用行为带来的"副作用". 备注2:文末列出的参考资料均来自GoLang.org官方文档,需翻墙访问. 1. map internals map是go中内置的数据结构,关于其语法规则,可以查看language specification中这里的说明,或者查看Effective Go中关于Maps的说明,此处略过. map的底层是用hashmap实现的(底层hashmap源码路径为src/pkg/r

Golang教程:Map

什么是 map? Map 是 Go 中的内置类型,它将键与值绑定到一起.可以通过键获取相应的值. 如何创建 map? 可以通过将键和值的类型传递给内置函数 make 来创建一个 map.语法为:make(map[KeyType]ValueType).(译者注:map 的类型表示为 map[KeyType]ValueType)例如: personSalary := make(map[string]int) 上面的代码创建了一个名为 personSalary 的 map.其中键的类型为 string

golang初学之接口---image

来自golang tour 练习 https://tour.go-zh.org/methods/16 package main import "golang.org/x/tour/pic" import "image" import "image/color" type Image struct{ x, y, width, height int } func (im Image) ColorModel() color.Model { return

golang struct转map

struct转map package main import ( "fmt" "reflect" "time" ) type User struct { Id int64 Username string Password string Logintime time.Time } func Struct2Map(obj interface{}) map[string]interface{} { t := reflect.TypeOf(obj) v

Golang里边的map变量是什么?

结论:是一个指向hmap结构体类型的指针. 首先我们来看一段代码: 输出是true,m是一个指针,fn内部申请的map[int][int]不影响外部m. 所有m是一个指针,那具体m的结构是什么呢?可以通过gdb调试: 所以一切明了,就是一个指针. 原文地址:https://www.cnblogs.com/maji233/p/11071235.html

golang depth read map

Foreword: I optimized and improved the below solution, and released it as a library here: github.com/icza/dyno. The cleanest way would be to create predefined types (structures struct) that model your JSON, and unmarshal to a value of that type, and

golang 切片和map查询比较

package main import ( "fmt" "time" ) var testTimeSlice = []string{"aa", "bb", "cc", "dd", "ee", "aa", "zz"} var testTimeMap = map[string]bool{"aa": true, &