map

Posted xiongying4

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了map相关的知识,希望对你有一定的参考价值。

定义

map 是在 Go 中将值(value)与键(key)关联的内置类型。通过相应的键可以获取到值。

定义和初始化第一种方式

package main

import "fmt"

func main(){
    var a map[int]string = make(map[int]string)  // int代表key,string代表value
    a[1] = "100"
    a[2] = "666"
    fmt.Println(a)
    fmt.Println(a[1])  //通过key取值
}

定义和初始化第二种方式

package main

import "fmt"

func main(){
    var a =map[int]string{1:"10",2:"100"}  
    fmt.Println(a)
    fmt.Println(a[1])  //通过key取值
}

删除map中元素

package main

import "fmt"

func main(){
    var a =map[int]string{1:"10",2:"100"}  
    delete(a,1)
    fmt.Println(a)
}

map是引用类型

当 map 被赋值为一个新变量的时候,它们指向同一个内部数据结构。因此,改变其中一个变量,就会影响到另一变量。

package main

import "fmt"

func main(){

    var a =map[int]string{1:"10",2:"100"}
    test(a)
    fmt.Println(a)
}
func test(a map[int]string) {
    a[1] = "888"
    fmt.Println(a)
}

map的相等性

map 之间不能使用 == 操作符判断,== 只能用来检查 map 是否为 nil

package main

func main() {
    map1 := map[string]int{
        "one": 1,
        "two": 2,
    }

    map2 := map1

    if map1 == map2 {
    }
}

map循环出所有元素

package main

import "fmt"

func main(){

    var a =map[int]string{1:"10",0:"100",10:"999"}
    //for循环
    //for i:=0;i<len(a);i++{
    //    fmt.Println(a[i])
    //}
    //range循环
    for k,v:=range a{
        fmt.Println(k)
        fmt.Println(v)
    }
}

以上是关于map的主要内容,如果未能解决你的问题,请参考以下文章

将多个输出中的hls属性设置为单独的片段代码

android google map supportmap片段无法在片段中初始化

比较有用的php代码片段

JavaScript 代码片段

代码片段 - Golang 实现集合操作

Android Studio Map setOnMarkerClickListener 不在片段上工作