博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
go语言中数组
阅读量:6958 次
发布时间:2019-06-27

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

数组是go语言内置的一种数据类型,对于该类型,将通过几下几点进行展开

数组声明和初始化

数组有以下几种声明初始化的方式

// 方法1var arr [5]int// 方法2var arr = [5]int{1,2,3,4,5}// 方法3arr := [5]int{1,2,3,4,5}// 方法4arr := [...]int{1,2,3,4,5}// 特定赋值arr := [5]int{1:2,4:3}

数组使用

  • 数组赋值
var arr = [5]int{}arr[1]=3
  • 数组取值
var arr = [5]int{5,4,3,2,1}num := arr[1]
  • 数组遍历
// for 遍历var arr = [5]int{1,2,3,4,5}for i :=0; i < len(arr); i++ {  fmt.Println(arr[i])} // for range 遍历for _, item := range arr {  fmt.Println(item)}
  • 数组类型

具有相同的长度和类型的数组是同一类型,它们之间可以进行直接赋值操作,在长度不相同的数组变量间赋值,需要通过单个值的方式进行

数组指针

  • 数组指针

数组指针是一个存储指针的集合

// 声明一个空指针的空数组var pr = [5]*int

这样每一个数组元素都是一个空指针对于空指针,不能将值直接符给一个空指针

数组传参

在之前的一篇文章中,对go语言的传参做了一个专题,进行展开的,在此不做详细的展开

将数组进行传参数时,传递的是数组的一个copy,因此在函数中对数组值的修改,不会导致最终实参中数组值的变化,如果,数组长度特别大的,这样的值传递,会很消耗内存,因此,使用数组的指针进行传递,它只是一个数组指针的copy,切指向同一数组地址

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

你可能感兴趣的文章
使用VMware VSphere WebService SDK进行开发 (四)——获取集群(Cluster, ComputeResource)的相关信息...
查看>>
java-collection的 iterator 返回的迭代器快速失败
查看>>
区块链遇到数据库:相爱还是相杀?
查看>>
及时警惕!云计算带来的安全风险
查看>>
太阳能示范基地光伏项目一期工程竣工
查看>>
机器学习之正则化图文讲解
查看>>
深入剖析ASP.NET的编译原理之二:预编译(Precompilation)
查看>>
阿里云前端周刊 - 第 31 期
查看>>
游戏安全资讯精选 2017年第十三期 Typecho前台无限制Getshell漏洞预警,勒索软件市场正在呈爆炸式增长...
查看>>
字符串编码解压缩算法
查看>>
电子化的阅读:学习时代的新行为
查看>>
硅谷·北京 云世界2012思想再激荡
查看>>
中国人工智能学会通讯——意识科学研究进展 1.1 意识问题的科学陈述及其当代研究目标的设定...
查看>>
颠覆传统的中兴微模块数据中心 开启中小企业的大数据梦
查看>>
Gartner:人工智能将把部分专业工作变成公用事业
查看>>
西数企业级市场大救星:充氦硬盘
查看>>
中国人工智能学会通讯——人工智能在各医学亚专科的发展现状及趋势 1.5 人工智能在各医学亚专科应用的局限性...
查看>>
《VMware Virtual SAN权威指南》一1.4 Virtual SAN简介
查看>>
ClassFlow推出全新课堂活动轨迹功能
查看>>
高性能计算在电网技术中的应用
查看>>