golang使用array表示固定大小的数组,使用slice表示动态数组。

package main

import "fmt"

func main() {
var a = [5]int{2,3,5,7,11}
fmt.Printf("type of array: %T\n", a)
fmt.Printf("address of array: %p\n", &a)
fmt.Printf("address of arrar[0]: %p\n", &a[0]) s := a[:]
fmt.Printf("slice = %v, len = %d, cap = %d\n", s, len(s), cap(s))
fmt.Printf("address of slice: %p\n", &s)
fmt.Printf("address of slice[0]: %p\n", &s[0]) s = append(s, 13)
fmt.Printf("slice = %v, len = %d, cap = %d\n", s, len(s), cap(s))
fmt.Printf("address of slice: %p\n", &s)
fmt.Printf("address of slice[0]: %p\n", &s[0])
}  

输出如下:

type of array: [5]int
address of array: 0xc420014150
address of arrar[0]: 0xc420014150
slice = [2 3 5 7 11], len = 5, cap = 5
address of slice: 0xc42000a060
address of slice[0]: 0xc420014150
slice = [2 3 5 7 11 13], len = 6, cap = 10
address of slice: 0xc42000a060
address of slice[0]: 0xc42001c0f0

参考资料:

Slices: usage and internals

https://golang.org/pkg/builtin/#append

golang之array的更多相关文章

  1. golang中Array与Slice

    在golang中有数组和Slice两种数据结构,Slice是基于数组的实现,是长度动态不固定的数据结构,本质上是一个对数组字序列的引用,提供了对数组的轻量级访问.那么在go的函数中以数组或Slice为 ...

  2. golang笔记——array

    1.定义一个 array 数组长度也是类型的一部分,比如长度为3的int数组与长度为5的int数组,并不是同一类型. package main import ( "strconv" ...

  3. 【转】 golang slice array

    1. array   同一类型数据的集合     var arr [n]type    //声明type类型一维数组     var arr [m][n]type //声明type类型二维数组     ...

  4. Golang数组Array

    数组Array 定义数组的格式:var [n], n>0 package main import ( "fmt" ) func main() { //数组的长度也是类型的一部 ...

  5. golang的array/slice

    相同点 由相同类型的元素组合构成 元素有序排列,0为第一个元素下标 基本使用方法相同 区别 array声明时需要指定容量大小,而且无法修改 slice可通过append增加元素,当容量不够时,会自动扩 ...

  6. golang之 Array(数组)

    目录 一.Array(数组) 二.数组的定义 1. 基本语法 三.数组的初始化 1. 方式一 2. 方式二 3. 方式三 四.数组的遍历 1. 方式一:for循环遍历 2. 方式二:for range ...

  7. golang基础--Array数组

    基本特性 格式: var Name [n]<type>,n>0 如: var a [10]int 表示,定义一个长度为10,元素类型为int性的数组 数组长度: 长度(len)也是数 ...

  8. golang array, slice, string笔记

    本来想写一篇关于golang io的笔记,但是在学习io之前必须了解array, slice, string概念,因此将在下篇写golang io.   array: 数组的长度是该数组类型的一部分, ...

  9. Golang后台开发初体验

    转自:http://blog.csdn.net/cszhouwei/article/details/37740277 补充反馈 slice 既然聊到slice,就不得不提它的近亲array,这里不太想 ...

随机推荐

  1. matplotlib TransformWrapper

    2020-04-09 23:26:53 --Edit by yangray TransformWrapper 是Transform的子类, 支持在运行中替掉一个变换(可以是不同类型, 但维度必须相同) ...

  2. AJ学IOS 之微博项目实战(11)发送微博自定义TextView实现带占位文字

    AJ分享,必须精品 一:效果 二:代码: 由于系统自带的UITextField:和UITextView:不能满足我们的需求,所以我们需要自己设计一个. UITextField: 1.文字永远是一行,不 ...

  3. C - Long Beautiful Integer codeforces 1269C 构造

    题解: 这里的m一定是等于n的,n为数最大为n个9,这n个9一定满足条件,根据题目意思,前k个一定是和原序列前k个相等,因此如果说我们构造出来的大于等于原序列,直接输出就可以了,否则,由于后m-k个一 ...

  4. Equalizing by Division

    The only difference between easy and hard versions is the number of elements in the array. You are g ...

  5. MySQL系列操作

    Linux环境下安装使用MySQL Portal 数据备份&恢复 Portal

  6. Python爬取养眼图片

    1.准备 各位绅士们,你可能会觉得疫情在家无聊,那么现在我们的Python语言可以满足你们的需求.项目需要的工具(1)Python3(2)requests库requests库可以通过代码pip ins ...

  7. file_put_contens小trick

    file_put_contents tricks 0x01 trick1 来自于P神的实例: <?php $text = $_GET['text']; if(preg_match('[<& ...

  8. Springboot:logback日志管理(九)

    Springboot默认使用的日志框架就是logback 创建自定义的logback-spring.xml放在resources类目录下即可 logback-spring.xml: <?xml ...

  9. [半翻] 设计面向DDD的微服务

    这篇文章行文结构对照微软博客, 结合本人意译和多年实践的回顾思考形成此次读书笔记. Domian-driven Design 领域-驱动-设计(DDD)提倡基于(用例相关的现实业务)进行建模. 1. ...

  10. Android App安全渗透测试(一)

    一.            实验环境搭建 1.      安装JDK 2.      安装Android Studio 3.      模拟器或真机 我的是夜神模拟器和nexus 工具 Apktool ...