go语言 类型:数组

osfipin · · 1944 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

在go语言中数组array是一组特定长度的有序的元素集合。

go的数组类型由两部分组成——类型和长度,二者缺一不可。数组本来就是一块存储相同类型元素的连续内存空间,因此决定一个数组的类型,必然需要决定其存储元素的类型以及存储多少个元素。

在Go语言中,数组长度在定义后就不可更改

数组是值类型,每次传递都将产生一份副本。

例子: 

package main

import (
	"fmt"
	"strconv"
)

func main() {
	var a [5]int           //定义数组 5个整数型
	fmt.Println("emp:", a) //整数型零值为0

	a[4] = 100 //修改数组
	fmt.Println("set:", a)
	fmt.Println("get:", a[4]) //输出单个值

	fmt.Println("len:", len(a)) //数组长度

	b := [5]int{45, 32, 12, 42, 55} //定义数组 定义数组的值
	fmt.Println("dcl:", b)

	for z, y := range b { //遍历数组
		fmt.Println("ran:", z, y)
	}

	var twoD [2][3]string    //二维数组
	for i := 0; i < 2; i++ { //循环
		for j := 0; j < 3; j++ {
			twoD[i][j] = strconv.Itoa(i) + "-" + strconv.Itoa(j) //修改数组
		}
	}
	fmt.Println("2d: ", twoD)
}

输出:

emp: [0 0 0 0 0]
set: [0 0 0 0 100]
get: 100
len: 5
dcl: [45 32 12 42 55]
ran: 0 45
ran: 1 32
ran: 2 12
ran: 3 42
ran: 4 55
2d:  [[0-0 0-1 0-2] [1-0 1-1 1-2]]

数组几种初始化方式:

var a [10]int

var a = [10]int{0,1,2,3,4,5,6,7,8,9}
var a = [...]int{0,1,2,3,4,5,6,7,8,9}

var a = [2][2]int{[2]int{1,1}, [2]int{2,2}}
var a = [2][2]int{{1,1}, {2,2}}

  


有疑问加站长微信联系(非本文作者)

本文来自:博客园

感谢作者:osfipin

查看原文:go语言 类型:数组

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1944 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传