美文网首页
Go学习--数组

Go学习--数组

作者: liuxuech | 来源:发表于2016-10-18 01:08 被阅读0次

                                               数组

数组是具有相同唯一类型的一组已编号且长度固定的数据项序列;这种类型可以是任意的原始类型例如整形、字符串或者自定义类型。数组长度必须是一个常量表达式,并且必须是一个非负整数。数组长度也是数组类型的一部分,所以[5]int和[10]int是属于不同类型的。

数组声明格式:

var array [len]type ;  或者 array := [len]type{} 注意:这里的{}是必须的

ep:

 var names [5]string; 或者 array := [5]string{}

获取数组长度:

var arr [5]int or arr := [5]int{} 

ep:

len(arr) //5

range遍历数组:

arr := [5]int{1, 2, 3, 4}

ep:

for i, v := range arr {

  //i 为index, v为value

  //如果i在这里不使用,则不能这样使用,不然编译会报错, ep: for _, v := range arr {}

}

注意:这里的value只是值拷贝,不能在这里更改数组的值。

range的用法细节:

1、for i,v := range arr { }

2、var i,v int

       for i,v = range arr { }

1和2的却别在于,1是让定义i,v并同时接收range返回的值, 2则是用两个定义好的变量去接收range返回的值。

注意:Go语言中数组是一种值类型,所以可以通过new关键字来创建

var arr1 = new([5]int)  or arr1 := new([5]int)

var arr2 [5]int  or arr2 := [5]int{}

区别:

arr1的类型是: *[5]int,  arr2的类型是[5]int

数组字面量:

var arrKeyValue = [5]string{3: "xuechao", 4: "liu"} //这里讲这个数组的第4个和第5个元素分别指定为了"xuechao", "liu", 3和4分别代表为数组的索引

or:

var arr = [4]{1,2,3,4}  or  arr := [4]int{1,2,3,4}

将数组传递给函数:

如果传递一个大的数组,则会消耗很多内存,有两种方法可以解决:

1,传递数组的指针

2,传递数组的切片

多维数组的声明并初始化:

var arrs= [5][10][4]int{{{1, 2}, {2, 3}}, {{3, 4}, {4, 5}}}

相关文章

  • 笨办法学golang(四)

    这是Go语言学习笔记的第四篇 Go语言学习笔记参考书籍「Go语言圣经」以及Go官方标准库 数组 数组是指一系列同类...

  • Go学习--数组

    数组 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列;这种...

  • 第03天(复合类型)_02

    06_为什么需要数组.go 07_数组的基本使用.go 08_数组的初始化.go 09_二维数组的介绍.go 10...

  • GO学习 多维数组

    多维数组: package main import "fmt" func main() { /* 一维数组:存...

  • Go语言探索 - 10(原创)

    上一篇文章主要学习了Go语言的结构体以及结构体指针,本篇文章主要学习Go语言的切片以及Map。 Go语言数组的长度...

  • Go语言切片

    // //Go语言切片 // /* // go语言切片是对数组的抽象 // Go 数组的长度不可改变,在特定场景中...

  • Go语言第3天 - 常用数据类型

    以下内容部分参考自Go语言基础数据类型Go语言中的数组切片:特立独行的可变数组Go语言数据类型-数组Go标准容器之...

  • 跟我一起学习GO语言004

    接上一节继续学习Go语言,存储和组织数据的方式 首先我们来学习数组,数组是一段固定长度的连续内存区域。 数组声明:...

  • Go语言探索 - 9(原创)

    Go语言基础系列博客用到的所有示例代码 在上一篇文章主要学习了Go语言中的数组、指针数组以及二级指针,本篇文章主要...

  • 第03天(复合类型)_03

    13_数组做函数参数.go 14_数组指针做函数参数.go 15_切片的长度和容量.go 16_切片的创建.go ...

网友评论

      本文标题:Go学习--数组

      本文链接:https://www.haomeiwen.com/subject/jevzyttx.html