zoukankan      html  css  js  c++  java
  • go语言基础之map赋值、遍历、删除 、做函数参数

    1、map赋值

    示例:

    package main //必须有个main包
    
    import "fmt"
    
    func main() {
    	m1 := map[int]string{1: "mike", 2: "yoyo"}
    	//赋值,如果已经存在的key值,修改内容
    	fmt.Println("m1 = ", m1)
    	m1[1] = "c++"
    	m1[3] = "go" //追加,map底层自动扩容,和append类似
    	fmt.Println("m1 = ", m1)
    }
    

    执行结果:

    m1 =  map[2:yoyo 1:mike]
    m1 =  map[1:c++ 2:yoyo 3:go]
    

      

    2、map遍历

    示例1:

    package main //必须有个main包
    
    import "fmt"
    
    func main() {
    	m := map[int]string{1: "mike", 2: "yoyo", 3: "go"}
    
    	//第一个返回值为key, 第二个返回值为value, 遍历结果是无序的
    	for key, value := range m {
    		fmt.Printf("%d =======> %s
    ", key, value)
    	}
    }
    

    执行结果:

    3 =======> go
    1 =======> mike
    2 =======> yoyo
    

    3、map 判断一个key值是否存在

    示例2:

    package main //必须有个main包
    
    import "fmt"
    
    func main() {
    	m := map[int]string{1: "mike", 2: "yoyo", 3: "go"}
    
    	//第一个返回值为key, 第二个返回值为value, 遍历结果是无序的
    	for key, value := range m {
    		fmt.Printf("%d =======> %s
    ", key, value)
    	}
    
    	//如何判断一个key值是否存在
    	//第一个返回值为key所对应的value, 第二个返回值为key是否存在的条件,存在ok为true
    	//value, ok := m[1]   //已经存在的value
    	value, ok := m[0] //key不存在
    	if ok == true {
    		fmt.Println("m[1] = ", value)
    	} else {
    		fmt.Println("key不存在")
    	}
    }
    

    执行结果:

    1 =======> mike
    2 =======> yoyo
    3 =======> go
    key不存在
    

      

    4、map删除

    示例4:

    package main //必须有个main包
    
    import "fmt"
    
    func main() {
    	m := map[int]string{1: "mike", 2: "yoyo", 3: "go"}
    	fmt.Println("m = ", m)
    
    	delete(m, 1) //删除key为1的内容
    	fmt.Println("m = ", m)
    }
    

    执行结果:

    m =  map[2:yoyo 3:go 1:mike]
    m =  map[2:yoyo 3:go]
    

    5、map做函数参数

    示例5:

    package main //必须有个main包
    
    import "fmt"
    
    //{1: "mike", 2: "yoyo", 3: "go"} 
    func test(m map[int]string) {
    	delete(m, 1)   //删除1个
    
    func main() {
    	m := map[int]string{1: "mike", 2: "yoyo", 3: "go"}
    	fmt.Println("m = ", m)
    
    	test(m) //在函数内部删除某个key
    
    	fmt.Println("m = ", m)
    }
    

    执行结果:

    m =  map[1:mike 2:yoyo 3:go]
    m =  map[2:yoyo 3:go]
    

      

  • 相关阅读:
    Android 智能问答机器人的实现
    hadoop分布式安装部署具体视频教程(网盘附配好环境的CentOS虚拟机文件/hadoop配置文件)
    淘宝数据库OceanBase SQL编译器部分 源代码阅读--生成物理查询计划
    linux启动基本流程
    C#开发Unity游戏教程之Scene视图与脚本的使用
    软件项目量化管理(CMMI高成熟度)实践经验谈——之项目管理过程监督与控制篇
    Servlet+JSP 原理
    2 会计要素和会计科目
    Android系统优化
    [Swift]LeetCode259.三数之和较小值 $ 3Sum Smaller
  • 原文地址:https://www.cnblogs.com/nulige/p/10245204.html
Copyright © 2011-2022 走看看