Golang语言社区--【基础知识】语言数组

Go编程语言提供称为数组的数据结构,其可存储相同类型的元素的一个固定大小的连续集合。数组用于存储数据的集合,但它往往是更加有用认为数组作为相同类型的变量的集合。

相反,声明单个变量,如number0, number1, ...和number99,声明一个数组变量,如号码和使用numbers[0], numbers[1]...numbers[99]表示单个变量。在数组的特定元素是由一个索引进行访问。

所有数组由连续的内存位置。最低的地址对应于第一元素和最高地址为最后一个元素。

声明数组

要声明在Go语言数组,程序员指定元素的类型以及如下的数组所需元件的数目:

var variable_name [SIZE] variable_type

这就是所谓的一维数组。arraySize必须是一个非零整数常数,类型可以是任何有效的数据类型。例如,要声明一个10个元素的数组为balance,类型float32使用下面的语句:

var balance [10] float32

现在balance是一个变量数组,其足以容纳10浮点数。

初始化数组

你可以用一个Go初始化数组一个或者使用单一的声明如下:

var balance = [5]float32{1000.0, 2.0, 3.4, 7.0, 50.0}

括号之间的数{}的值不能比声明方括号[]之间的数组元素的数大。

如果省略数组的大小,数组只是大足以容纳初始化被创建。因此,如果编写:

var balance = []float32{1000.0, 2.0, 3.4, 7.0, 50.0}

将创建完全相同的数组,和前面的例子中那样。下面是一个例子,分配数组的单个元素:

balance[4] = 50.0

以上语句用50.0的数值作为数组中的元素分配到第5个位置。所有数组通常0作为其第一元件的也被称为基本索引,数组的最后一个索引的索引将是数组的总大小减去1;以下是我们上面讨论的相同的数组的图形表示:

访问数组元素

元素由索引数组名访问。这是由放置在方括号内的元素的索引数组的名称后进行。例如:

float32 salary = balance[9]

以上语句需要将数组的第10个位置的元素赋值给变量salary。以下是其将使用所有上述三个概念即一个例子。声明,分配和访问数组:

让我们编译和运行上面的程序,这将产生以下结果:

Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109

原文发布于微信公众号 - Golang语言社区(Golangweb)

原文发表时间:2016-06-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏吴伟祥

Java 可变参数 原

1003
来自专栏LanceToBigData

JavaSE(一)之类与对象

终于到了要学习面向对象程序设计了,其中可能很多东西以前都知道怎么去用,但是却不知道怎么来的,或者怎么样写会出错,所以今天总结起来。 一、OOP概述   Java...

2175
来自专栏C语言及其他语言

【编程经验】结构体的定义和使用

结构体的定义和使用 结构体与数组类似,都是由若干分量组成的,与数组不同的是,结构体的成员可以是不同类型,可以通过成员名来访问结构体的元素。 ...

35412
来自专栏微信公众号:Java团长

Java抽象类与oop三大特征

在了解抽象类之前,先来了解一下抽象方法。抽象方法是一种特殊的方法:它 只有声明,而没有具体的实现 。抽象方法的声明格式为:

1204
来自专栏Python爬虫与数据挖掘

Python正则表达式初识(二)

前几天给大家分享了Python正则表达式初识(一),介绍了正则表达式中的三个特殊字符“^”、“.”和“*”,感兴趣的伙伴可以戳进去看看,今天小编继续给大家分享P...

1003
来自专栏日常学python

一文解开可迭代对象和迭代器的神秘面纱

可迭代对象和迭代器是两种不同的数据类型,它们都在我们的编程中时常可以遇到。当然他们之间也有很大的关联,接下来就让我们把它们搞定。

1124
来自专栏游戏杂谈

LuaJit转义的问题

之前在项目中,处理类似!30转为表现的字符串时,有人写了这样的一段代码“\![1-2][0-9]”,当换成luajit时启动报错了,出错原因在于转义字符使用不对...

1572
来自专栏Golang语言社区

Golang语言社区--Go语言基础第三节常量

大家好,我是彬哥;今天继续我们的基础课程的讲解,本篇给大家讲解的是关于Go语言常量的知识。那么在编程语言中何为常量?常量解释如下:

49022
来自专栏函数式编程语言及工具

泛函编程(3)-认识Scala和泛函编程

接着昨天的文章,再示范一个稍微复杂一点的尾递归tail recursion例子:计算第n个Fibonacci数。Fibonacci数第一、第二个数值分别是0,1...

2077
来自专栏Python爬虫与数据挖掘

Python正则表达式初识(二)

前几天给大家分享了Python正则表达式初识(一),介绍了正则表达式中的三个特殊字符“^”、“.”和“*”,感兴趣的伙伴可以戳进去看看,今天小编继续给大家分享P...

701

扫码关注云+社区

领取腾讯云代金券