Golang -- 数组
来源:互联网 发布:java文件转md5 编辑:程序博客网 时间:2024/06/05 12:05
数组
声明和初始化
声明数组后, 使用对应类型的零值来初始化数组.
int的零值是0
string的零值是 “” (注意不是nil)
package mainimport ( "fmt")var a1 [3]int // 声明一个长度3的整型数组func main() { fmt.Println(a1) // 结果是 [0 0 0] a2 := [2]string{} // 声明一个长度为2的字符串数组 fmt.Println(a2) // 结果是 [ ]}
声明的同时初始化:
package mainimport ( "fmt")var a1 = [3]int{1, 2} // 初始化为 [1 2 0]func main() { fmt.Println(a1) // 结果是 [1 2 0] a2 := [4]string{1: "b", 3: "c"} // 可以指定初始化的位置 fmt.Println(a2) // 结果是 [ b c] a3 := [...]int{1, 2, 3, 4} // 自动计算数组的长度为4 fmt.Println(a3) // 结果为[1 2 3 4] a4 := [...]int{1: 9, 4: 8} // 自动计算长度为5 fmt.Println(a4) // 结果为[0 9 0 0 8]}
注: []int{1, 2, 3} 创建的是切片 […]int{1, 2, 3} 创建的是数组.
数组的使用:
package mainimport ( "fmt")func main() { a := [...]string{"A", "B", "C"} // 只有长度一样,内部元素类型一样,才可以赋值 var array [3]string array = a // 直接输出 fmt.Println(array) // for index 输出 for i := 0; i < len(array); i++ { fmt.Print(array[i]) } fmt.Println() // for range循环输出 for _, e := range array { fmt.Print(e) }}
指针数组:
package mainimport ( "fmt")func main() { // 定义两个字符串变量 a := "A" fmt.Println("a", &a) b := "B" fmt.Println("b", &b) // 定义一个字符串指针数组 array := [...]*string{&a, &b} fmt.Println(array) // 修改a的值, 数组内元素的值也改变 a = "Aa" fmt.Println(*array[0])}
二维数组:
package mainimport ( "fmt")func main() { array := [2][3]int{{1, 2, 3}, {4, 5, 6}} fmt.Println(array) // for遍历 for _, a := range array { for _, e := range a { fmt.Print(e) } fmt.Println() }}
函数间传递数组(推荐传递数组的指针)
package mainimport ( "fmt")func test(arr *[2][3]int) { // 每个元素都+1 for i, a := range arr { for j := range a { arr[i][j] ++ } }}func main() { array := [2][3]int{{1, 2, 3}, {4, 5, 6}} fmt.Println(array) // 将数组的指针传过去 test(&array) // for遍历 for _, a := range array { for _, e := range a { fmt.Print(e) } fmt.Println() }}
阅读全文
0 0
- Golang -- 数组
- golang数组
- golang 处理Json 数组
- golang 数组和切片
- Golang 数组使用
- golang json数组拼接
- Golang 实现Bit数组
- GoLang数组与切片
- golang 数组去重
- golang数组切片详解
- golang 数组切片(一)
- golang 数组切片(二)
- golang 数组 slice 乱序
- golang中的数组与切片
- golang解析json串数组
- golang修改struct数组问题
- Golang从入门到精通(八):Golang数组
- Golang Array 数组 和 Slice 切片
- android 仿微信聊天界面,以及语音录制功能
- Android 应用界面设计
- Python3 import 与 from...import
- centos搭建svn
- DL4J中函数拟合程序的结构
- Golang -- 数组
- 【计蒜之道 】微软大楼设计方案
- 精益 React 学习指南 (Lean React)- 2.2 webpack
- java日期Date与Timestamp的equals差异
- Map的基本用法,增删查,排序
- Redis与Memcached的区别-都属于分布式缓冲架构产品
- 基于PHP+redis的秒杀系统
- 一小时包教会 —— webpack 入门指南
- Python实现SQL模拟功能