[Go] Map

A Go map type looks like this:

map[KeyType]ValueType

This variable m is a map of string keys to int values:

var m map[string]int

Map types are reference types, like pointers or slices, and so the value of m above is nil; it doesn’t point to an initialized map. A nil map behaves like an empty map when reading, but attempts to write to a nil map will cause a runtime panic; don’t do that. To initialize a map, use the built in make function:

m = make(map[string]int)

 

Setup a Map with default values:

package main

import "fmt"

func main() {
	users := map[int]string{
		1: "john",
		2: "Joe",
	}
	fmt.Println(users[1]) // john
}

 

Check value exists:

package main

import "fmt"

func main() {
	users := map[int]string{
		1: "john",
		2: "Joe",
	}
	fmt.Println(users[1]) // john

	thirdUser, ok := users[3]
	fmt.Println(thirdUser, ok) // <empty> false

	if _, ok := users[3]; ok {
		fmt.Println("User exists")
	} else {
		fmt.Println("User does not exists") // print out
	}
}

 

delete prop:

delete(users, 1)

 

posted @ 2022-09-05 14:28  Zhentiw  阅读(15)  评论(0编辑  收藏  举报