zoukankan      html  css  js  c++  java
  • map 基本使用

    package main
    
    import "fmt"
    
    func main(){
        //定义一个map变量,类型为map[int]string,如果使用map一定初始化,make分配空间
        var m1 map[int]string = make(map[int]string)
        fmt.Println("m1=",m1)
        m1[1]= "jake"
        fmt.Println("m1=",m1)
    
        m2 := make(map[int]string) //make方式创建然后自动推导类型
        fmt.Println("len=",len(m2))
        m2[1] = "mike"
        fmt.Println("m2=",m2)
        fmt.Println("len=",len(m2))
    
        //map 先给map指定一个可以容纳长度,一旦超过这个长度 从新分配底层空间
        //
        m3 := make(map[int]string,2)
        m3[1]="mile"
        m3[2]="jack"
        m3[3]="go"
        fmt.Println("m3=",m3)
        fmt.Println("len=",len(m3))
    
        //map另一种初始化并且赋值
        m4 := map[int]string{1:"mike",2:"jack",3:"go"}
        fmt.Println("m4=",m4)
    }

    package main
    
    import "fmt"
    
    func main(){
        m1 := map[int]string{1:"mike",2:"jack"}
        fmt.Println("m1=",m1)
    
        m1[1]="marry"  //如果key存在,修改内容
        m1[3]="tom"    //如果没有key 追加内容,切片append
        fmt.Println("m1=",m1)
    }
    package main
    
    import "fmt"
    
    func main(){
        m := map[int]string{1:"mike",2:"jack",3:"tom"}
        //第一个返回值为key 第二个返回值为value 遍历结构是无序的
        for key,value :=range m{
            fmt.Printf("%d======>%s
    ",key,value)
        }
    
        //如何判断一个key是否存在,
        //第一个返回值为key的所对应的value,第二个返回值为key是否存在的条件,如果存在ok为true
        //value,ok := m[1]
        if value,ok := m[1];ok == true{
            fmt.Println("m[1]=",value)
        }else {
            fmt.Println("key 不存在")
        }
    
        delete(m,2) //删除key为2的内容
        fmt.Println("m=",m)
    
    }
    package main
    
    import "fmt"
    
    func test(m map[int]string)  { //map 和我们切片一样 他们是引用类型
        delete(m,1)
    }
    
    func main(){
        m :=map[int]string{1:"jack",2:"mike",3:"marry"}
        fmt.Println("m=",m)
    
        test(m)
    
        fmt.Println("m=",m)
    
    }
  • 相关阅读:
    第三章 Java程序优化(待续)
    第二章 设计优化(待续)
    第一章 Java性能调优概述
    第十章 Executor框架
    第九章 Java中线程池
    第八章 Java中的并发工具类
    第七章 Java中的13个原子操作类
    Hihocoder [Offer收割]编程练习赛70 解题报告 By cellur925
    USACO Training刷题记录 By cellur925
    Trie树的小应用——Chemist
  • 原文地址:https://www.cnblogs.com/dqh123/p/12076315.html
Copyright © 2011-2022 走看看