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([]类型, 切片)
    
  • 注意:
    • 数组的复制操作是深拷贝,要转浅拷贝请在复制时在数组名前使用 & 取地址
    • 数组的比较操作是比较其内容是否一致而不是地址是否一致
    • 数组是一个 值类型 ,就是数据内容本身
    • 切片是一个 引用类型 ,本质是一个数组的引用

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

查看所有标签

猜你喜欢:

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

Writing Apache Modules with Perl and C

Writing Apache Modules with Perl and C

Lincoln Stein、Doug MacEachern / O'Reilly Media, Inc. / 1999-03 / USD 39.95

Apache is the most popular Web server on the Internet because it is free, reliable, and extensible. The availability of the source code and the modular design of Apache makes it possible to extend Web......一起来看看 《Writing Apache Modules with Perl and C》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

URL 编码/解码
URL 编码/解码

URL 编码/解码