Golang中map的三种声明定义方式实现

 更新时间:2023年02月17日 16:43:56   作者:你好o我是白熊  
本文主要介绍了Golang中map的三种声明定义方式实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

 定义

map,在golang中定义为map[string][string],类比为python中的dict,内部实现也是通过哈希存储的,内部的元素是无序的。

方式1:

* 通过 var xx map[type]type,来进行声明一个map;

此时的myMap是一个空变量,为开辟实际空间进行赋值,是一个空占8字节的变量;

需要通过make(map[string]string),以声明的类型为准,进行空间开辟,后续才可以进行赋值,否则会报越界错误;

方式2:

通过直接x:=make(map[string]string),不需要先定义一个map类型的空变量,因为make内置方法会根据你传入的类型,返回具体类型,通过:=来接收。

方式3:

初始化方式创建map;

这种方法用的比较多,不需要make去申请内存分配;通过定义一个map类型变量并初始化,可以动态开辟内存,并赋值;

* 细节,map内部最后一个元素末尾要带逗号,这是go语法规定;

使用:

总的来说,使用也是通过key:value,以O(1)的复杂度在数据体中查询值,特别需要注意,对于map,可以简单理解为,通过类型的指定,map在函数中的传递可以理解为是"引用传递",即可以通过指针寻址,对指定值进行修改;

到此这篇关于Golang中map的三种声明定义方式实现的文章就介绍到这了,更多相关Golang map声明定义内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Golang Gin局部和全局中间件使用详解

    Golang Gin局部和全局中间件使用详解

    中间件是放在客户端和服务端的中间,当你的客户端对某个接口发起一个请求,但是在到达接口2之前,这里是有一层中间件的处理。本文详细介绍了Golang Gin局部、全局中间件使用方法,感兴趣的同学可以阅读本文
    2023-04-04
  • 优雅使用GoFrame共享变量Context示例详解

    优雅使用GoFrame共享变量Context示例详解

    这篇文章主要为大家介绍了优雅使用GoFrame共享变量Context示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • GoFrame实现顺序性校验示例详解

    GoFrame实现顺序性校验示例详解

    这篇文章主要为大家介绍了GoFrame实现顺序性校验示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Go语言单控制器和多控制器使用详解

    Go语言单控制器和多控制器使用详解

    这篇文章主要为大家详细介绍了Go语言单控制器和多控制器的使用方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • GO制作微信机器人的流程分析

    GO制作微信机器人的流程分析

    这篇文章主要介绍了利用go制作微信机器人,本文主要包括项目基础配置及详细代码讲解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • Goland IDEA项目多开设置方式

    Goland IDEA项目多开设置方式

    这篇文章主要介绍了Goland IDEA项目多开设置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • 详解Go语言如何利用高阶函数写出优雅的代码

    详解Go语言如何利用高阶函数写出优雅的代码

    高阶函数(Hiher-order Function)定义为:满足下列条件之一的函数:接收一个或多个函数作为参数;返回值是一个函数。本文为大家介绍了如何利用高阶函数写出优雅的代码,希望对大家有所帮助
    2023-01-01
  • 详解Go 语言中的比较操作符

    详解Go 语言中的比较操作符

    这篇文章专注于 6 个操作符,==,!=,<,<=,> 和 >=。我们将深入探讨它们的语法和用法的细微差别,感兴趣的朋友跟随脚本之家小编一起看看吧
    2018-08-08
  • golang redis中Pipeline通道的使用详解

    golang redis中Pipeline通道的使用详解

    本文主要介绍了golang redis中Pipeline通道的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • GoFrame框架gset使用对比PHP Java Redis优势

    GoFrame框架gset使用对比PHP Java Redis优势

    这篇文章主要为大家介绍了GoFrame框架gset对比PHP Java Redis的使用优势详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06

最新评论