当前位置: 首页 > news >正文

golang笔记-Array(数组)

数组

        同一种数据类型元素的集合,数组从声明时就确定,使用时可以修改数据成员,但数组的大小不可变

数组的定义

  • 存放元素的容器
  • 必须指定存放的元素的类型和容量(长度)

var 数组变量名 [元素数量] T

	//定义一个int数组var array [3]int//打印数组的长度fmt.Println(len(array))

数组的初始化

默认值

        如果不初始化,数组中的元素都是零值(默认值 bool false、整形/浮点型0、字符串 “”)

package mainimport "fmt"func main() {//定义数组var intArray [2]intvar boolArray [2]boolvar floatArray [2]float32var stringArray [2]string//打印数组fmt.Println(intArray)fmt.Println(boolArray)fmt.Println(floatArray)fmt.Println(stringArray)
}

初始化方式1

        根据数组长度赋值

func main() {var intArray [3]intintArray = [3]int{1, 2, 3}//打印数组fmt.Println(intArray)
}

初始化方式2

        根据数组元素个数推断长度

func main() {//var intArray [3]int//intArray = [3]int{1, 2, 3}intArray2 := [...]int{1, 2, 3, 4, 5}//打印数组fmt.Println(intArray2)
}

初始化方式3

        根据下标赋值

func main() {// 下标从0 开始,第一位赋值1,最后一位赋值5intArray3 := [5]int{0: 1, 4: 5}fmt.Println(intArray3)
}

数组的遍历

       1、 for循环遍历,根据数组下标获取数据

func main() {strArray := [3]string{"北京", "河南", "上海"}//索引下标从0开始,长度-1结束for i := 0; i < len(strArray); i++ {fmt.Println(strArray[i])}
}

2、for range遍历

func main() {strArray := [3]string{"北京", "河南", "上海"}//第一个返回值为数组的下标,第二个返回值为数组中元素的值for index, str := range strArray {fmt.Println(index, str)}}

多维数组

        数组嵌套数组,获取最终的值使用嵌套循环

func main() {//[[1,2],[2,3],[3,4]]var arrays [3][2]intarrays = [3][2]int{{1, 2}, {2, 3}, {3, 4}}for _, datas := range arrays {for _, data := range datas {fmt.Println(data)}}
}

其他:数组的值传递

        数组是值类型,赋值和传参会复制整个数组,改变副本的值,不会改变本身的值

        array2=array1,修改array2,array1的值不变

func main() {array1 := [3]int{1, 2, 3}array2 := array1array2[0] = 4fmt.Println(array1)fmt.Println(array2)
}


http://www.mrgr.cn/news/67950.html

相关文章:

  • Java LeetCode练习
  • Rust语言为什么在2024年依然流行?真的安全、快速又可靠吗?
  • 【数学二】线性代数-向量-向量组的秩、矩阵得秩
  • 可信度模型
  • Java 网络编程(一)—— UDP数据报套接字编程
  • 全卷积和全连接
  • 算法每日练 -- 双指针篇(持续更新中)
  • 【IC验证】systemverilog的设计特性
  • 零基础小白 Python这样学就对啦!——05篇
  • RMQ消息发送失败处理
  • 解析静态链接
  • 理解Web登录机制:会话管理与跟踪技术解析(二)-JWT令牌
  • MP2315 DC-DC电源芯片引脚功能说明
  • 基于STM32的温室自主灌溉系统(论文+源码)
  • 初识arkts2
  • 父组件调用函数式子组件,并向子组件传递函数参数。
  • PCL截取ROI
  • 123456789
  • CORS(跨域资源共享)和SOP(同源策略)
  • C++从零到满绩——命名空间、输入输出and缺省参数