golang key map 所有_golang之map
golang中的map数据类型是一种字典类型,能够快速的实现key-value的查询。类似于,php语言的array,python语言的dict,以及Java语言的hashMap
1、Go语言中map的基本语法fruitsNameMap := make(map[string]string)
numsMap := make(map[string]int)
>> fruitsNameMap["apple"] = "苹果"
>> numsMap["students"] = 2000
2、如何遍历map中的数据
for key, value := range fruitsNameMap {
fmt.Println(key)
fmt.Println(value)
}>> for ... range xxx的方式,完成对map的key和value的遍历输出
3、如果你想得到map中所有的key,写到一个数组中
var keyArray []string
for key := range fruitsNameMap {
keyArray = append(keyArray, key)
}>> 以上将fruitsNameMap中的key全都append到keyArray这个数组中
4、删除map中的一个元素>> delete(fruitsNameMap ["apple"])
这样fruitsNameMap中的fruitsNameMap["apple"]将被delete
5、高级一些的用法map[string]interface{}
package main
import "fmt"
type Service interface{
SayHello()
}
type Student struct{}
func (s Student) SayHello() {
fmt.Println("Hello!")
}
type Employee struct{}
func (s Employee) SayHello() {
fmt.Println("Hello2!")
}
func main() {
interfaceMap := make(map[string]Service)
interfaceMap["SERVICE-STUDENT"] = Student{}
interfaceMap["SERVICE-EMPLOYEE"] = Employee{}
interfaceMap["SERVICE-EMPLOYEE"].SayHello() //输出Hello2!
for key, service := range interfaceMap {
fmt.Println(key) //输出key service.SayHello() //输出每个对象各自实现的接口sayHello }
}Hello2!
SERVICE-STUDENT
Hello!
SERVICE-EMPLOYEE
Hello2!
Done,以上就是本期golang之map的全部内容。
您可能感兴趣的文章:
golang key map 所有_golang之map
golang key map 所有_golang推断map中指定key是不是存在_后端开发
golang map key 正则表达_Golang中的Map
Golang从入门到放弃200618--Map(1)Map的初始化和基本操作
golang key map 所有_Golang基础教程——map篇
golang map 锁_Golang线程安全的map
golang:map
golang中map声明及初始化
golang 并发访问map遇到的问题
golang map 排序 key value