Go语言快速入门笔记(2)--值类型和引用类型,silce切片,map映射

栏目: IT技术 · 发布时间: 6年前

内容简介:本文包含Go语言的简单入门语法,值类型和引用类型,silce切片,map映射具有一定编程语言基础(如:C/C++,java等),并且想要快速入门Go语言的同学值类型:直接对值操作的类型,包括

本文包含 Go 语言的简单入门语法,值类型和引用类型,silce切片,map映射

本文适合人群

具有一定编程语言基础(如:C/C++,java等),并且想要快速入门Go语言的同学

值类型和引用类型

值类型:直接对值操作的类型,包括

1.基本数据类型(int,float等)
2.struct结构体
3.数组
复制代码

引用类型:通过指针(引用)对内存单元操作的类型,包括

1.silce切片
2.map映射
3.其他容器
复制代码

数组和切片slice

  • 声明:
    //一维数组
    格式1:var 数组名 [长度] 类型
    格式2:[var 数组名 =]/[数组名 := ] [长度]类型{值1,值2,...}
    格式3:[var 数组名 =]/[数组名 := ] [...]/[]类型{值1,值2,...}
    //多维数组
    格式4:var 数组名 = [长度][长度]...类型{{值1,值2,...},{值1,值2,...},...}
    格式5:var 数组名 = [][]...类型{{值1,值2,...},{值1,值2,...},...}
    复制代码
    • 注意:缺省的数组即为切片
  • 索引:
    • 下标索引: 数组名[下标]
      • 注意:超过长度的部分不可索引,尽管容量有余
    • 切片索引: 数组名[start:end] ,取出[start,end)的元素
  • len()方法和cap()方法
    len()
    cap()
    
  • make()方法:声明切片
    • make([]类型, len, cap) :参数分别为切片类型,长度,容量(缺省时默认等于长度)
  • append()方法:复制一份切片并添加元素,超出容量自动扩容( 容量=长度*2
    append([]类型, elem1, elem2, ... )
    append([]类型, 切片)
    
  • 注意:
    • 数组的复制操作是深拷贝,要转浅拷贝请在复制时在数组名前使用 & 取地址
    • 数组的比较操作是比较其内容是否一致而不是地址是否一致
    • 数组是一个 值类型 ,就是数据内容本身
    • 切片是一个 引用类型 ,本质是一个数组的引用

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

构建高性能Web站点

构建高性能Web站点

郭欣 / 电子工业出版社 / 2009-8 / 59.00元

本书围绕如何构建高性能Web站点,从多个方面、多个角度进行了全面的阐述,涵盖了Web站点性能优化的几乎所有内容,包括数据的网络传输、服务器并发处理能力、动态网页缓存、动态网页静态化、应用层数据缓存、分布式缓存、Web服务器缓存、反向代理缓存、脚本解释速度、页面组件分离、浏览器本地缓存、浏览器并发请求、文件的分发、数据库I/O优化、数据库访问、数据库分布式设计、负载均衡、分布式文件系统、性能监控等。......一起来看看 《构建高性能Web站点》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

MD5 加密
MD5 加密

MD5 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具