标签:print 参数 结果 方式 个数 输出 长度 info 不能
数组可以存放多个同一类型数据,数组也是一种数据类型,在Go中,数组是值类型。
var 数组名 [数组大小] 数据类型
例子:
var a [3] int
package main
import (
"fmt"
)
func main() {
var a [3]int
fmt.Printf("a的地址=%p,a[0]的地址=%p,a[1]的地址=%p,a[2]的地址=%p", &a, &a[0], &a[1], &a[2])
}
输出结果
a的地址=0xc0000124e0,a[0]的地址=0xc0000124e0,a[1]的地址=0xc0000124e8,a[2]的地址=0xc0000124f0
内存示意图如下:
内存图说明:
package main
import (
"fmt"
)
func main() {
// 第一种
var a [3]string = [3]string{"1", "2", "3"}
// 第二种
var b = [3]string{"4", "5", "6"}
// 第三种
c := [3]string{"7", "8", "9"}
// 第四种
d := [...]string{"10", "11", "12"}
// 第五种
e := [...]string{1: "13", 2: "14", 3: "15"}
fmt.Printf("a=%v\nb=%v\nc=%v\nd=%v\ne=%v", a, b, c, d, e)
}
输出结果:
a=[1 2 3]
b=[4 5 6]
c=[7 8 9]
d=[10 11 12]
e=[ 13 14 15]
1.数组是个相同数据类型的组合,一个数组一旦声明/定义了,其长度是固定的,不能动态变化,数组的长度也是数组类型的一部分
2.var arr []int,这是切片,和数组是两个数据类型,不是同一概念。
3.数组的元素可以是任何数据类型,包括值类型和引用类型,但不能混用
4.数组创建后,如果没有赋值,有默认值
数值类型数组,默认值为0
bool数组,默认值为false
字符串数组,默认值为""
5.数组的下标从0开始。
6.数组下标必须在指定范围内,否则报pannic,数组越界
7.GO数组属于值类型,在默认情况下是值传递,因此会进行值拷贝,数组间不会互相影响
8.如果在其他函数中,去修改原来的数组,可以使用引用传递(指针方式)
9.长度是数组类型的一部分,在传递函数参数时,需要考虑数组的长度。
标签:print 参数 结果 方式 个数 输出 长度 info 不能
原文地址:https://www.cnblogs.com/adong2021/p/14773233.html