GO语言数组:
数组是Go语言编程中最常用的数据结构之一。顾名思义,数组就是指一系列同一类型数据的集合。数组中包含的每个数据被称为数组元素(element),一个数组包含的元素个数被称为数组的长度。
在Go语言中数组是一个值类型(value type)。是真真实实的数组,而不是一个指向数组内存起始位置的指针,也不能和同类型的指针进行转化,这一点严重不同于C语言。所有的值类型变量在赋值和作为参数传递时都将产生一次复制动作。如果将数组作为函数的参数类型,则在函数调用时该参数将发生数据复制。因此,在函数体中无法修改传入的数组的内容,因为函数内操作的只是所传入数组的一个副本
数组的定义方式:
1、[length]Type 2、[N]Type{value1, value2, ... , valueN} 3、[...]Type{value1, value2, ... ,
egg:数组操作定义.......
package main
import "fmt"
func main() {
//******第一种创建数组
//声明一个数组并赋值
var a [3]int = [3]int{1, 2, 3}
fmt.Println(a)
//等价的赋值
b := [3]int{1}
fmt.Println(b)
//***定义一个空的数组
var c [5]int
fmt.Println(c)
//***定义一个省略长度采用"..."的方式,GO自动根据元素个数来计算长度
d := [...]int{1, 2, 3, 4, 5, 6, 7}
fmt.Println(d)
//进阶定义,对第9个元素(下标为8)赋值1,其他同理
e := [...]int{8: 1}
fmt.Println(e)
//数组的元素是指针,f数组的元素是指向int的指针
aa := 1
bb := 2
f := [...]*int{&aa, &bb}
fmt.Println(f)
//指向数组的指针
g := [5]int{1, 2, 3, 4, 5}
//k是一个指向数组的指针
var k *[5]int = &g
fmt.Println(k)
//数组的比较
a1 := [2]int{1, 2}
a2 := [2]int{1, 2}
fmt.Println(a1 == a2)
//通过new返回一个指向数组的指针,做赋值操作
l := new([2]int)
fmt.Println(l)
l[0], l[1] = 11, 22
fmt.Println(l)
//多维数组,二行二列
m := [2][2]int{{1, 2}, {3, 4}}
fmt.Println(m)
//自动计算多维数组,必须是顶级
n := [...][2]int{{1, 2}, {3, 4}, {5, 6}}
fmt.Println(n)
}
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。