博客
关于我
数组--Go语言学习笔记
阅读量:326 次
发布时间:2019-03-04

本文共 1151 字,大约阅读时间需要 3 分钟。

数组–Go语言学习笔记

数组的初始化

方式一

var 变量名 [数组长度] 数据类型

var a [4] intfmt.Println(a)//[0 0 0 0]
方式二

var 变量名 =[数组长度] 数据类型

var b=[4] int{   1,2,3,4}fmt.Println(b)[1 2 3 4]
var c=[4] int{   1,2,3}fmt.Println(c)[1 2 3 0]
方式三

var 变量名=[数组长度] 数据类型{下标:数据,下标:数据,}

下标:数据 表示:在指定位置的数据的值

var d=[5]int{   1:1,3:2}fmt.Println(d)//[0 1 0 2 0]
方式四

变量名:=[…] 数据类型{ }

根据{}中的数据个数自动创建一个已知长度的数组

f:=[...] int{   1,2,3,4,5}fmt.Println(f)fmt.Println(len(f))//len()求出数组的长度fmt.Println(cap(f))//cap()求出数组的容量//[1 2 3 4 5]//5//5

数组遍历

方式一:数组下标
arr1:=[5]int{   1,2,3,4,5,}fmt.Println(arr1[0])fmt.Println(arr1[1])fmt.Println(arr1[2])fmt.Println(arr1[3])fmt.Println(arr1[4])//1//2//3//4//5
方式二:for循环
for i:=0;i<len(arr1);i++{       arr1[i]=i*2+1    fmt.Println(arr1[i])}//1//3//5//7//9
方式三:range
for index,value:=range arr1{       fmt.Println("下标是:%d,数值是:%d\n",index,value)}//默认一次取出一对数,下标及对应的数据

单独取出数据

for _,v:=range arr1{     sum+=v}fmt.Println(sum)//arr1同上//15

数组类型

每一个数组都有自身的数据类型,取决于长度和存储的数据类型

[size] type

二维数组

二维数组存储的是一维数组的地址值

a1:=[3][4]int{   {   1,2,3,4}{   5,6,7,8}{   9,10,11,12}}for _,arr:=range a1{       for _,val:=range arr{           fmt.Println(val,"\t")    }    fmt.Println()}//二位数组的遍历

转载地址:http://zube.baihongyu.com/

你可能感兴趣的文章
机器学习(湖北师范大学教程)-极大似然估计算法
查看>>
2019年下半年总结
查看>>
读《红楼梦》有感
查看>>
【C# 重构】—参数化查询, 需要参数,但未提供该参数
查看>>
决策树(二)—— ID3和C4.5
查看>>
MySQL~教你满分回答什么是数据库索引? 索引的数据结构是什么? 什么是事务?
查看>>
操作系统~进程的状态、转换、控制
查看>>
操作系统~线程概念以及多线程模型
查看>>
数据结构~缓存淘汰算法--LRU算法(Java的俩种实现方式,时间复杂度均为O(1))
查看>>
Python:函数 ----》装饰器函数
查看>>
Python:面向对象
查看>>
Python练习题 :随机生成一批数
查看>>
Spring源码:prepareBeanFactory(beanFactory);方法
查看>>
Spring源码:initApplicationEventMulticaster源码解析
查看>>
AcWing 786: 第k个数
查看>>
AcWing 798. 差分矩阵
查看>>
AcWing 828. 模拟栈
查看>>
AcWing 845. 八数码(BFS)
查看>>
AcWing 849. Dijkstra求最短路 I(Dijkstra)
查看>>
AcWing 4. 多重背包问题(带有个数限制的完全背包问题dp)
查看>>