Go中数组的使用-创新互联
// code_012_array_element project main.go
package main
import (
"fmt"
)
func modify(array [5]int) {
array[0] = 10
fmt.Println("In modify(), array values:", array)
}
func modify01(array01 *[5]int) {
(*array01)[0] = 10
fmt.Println("In modify(), array01 values:", *array01)
}
func main() {
// var n int = 10
// var a[n]int //数组长度不能为变量
var a [10]int //ok
for i, v := range a {
fmt.Println("a[", i, "]=", v)
}
fmt.Println("================================")
//内置函数len长度和cap容量
z := [10]int{}
fmt.Println(len(z), cap(z))
fmt.Println("================================")
//初始化
b := [3]int{1, 2} //未初始化的元素值为0
c := [...]int{1, 2, 3, 4}
d := [5]int{2: 100, 4: 200}
fmt.Println(b, c, d)
fmt.Println("================================")
//支持多维数组
e := [4][2]int{{10, 11}, {20, 21}, {30, 31}, {40, 41}}
f := [...][2]int{{10, 11}, {20, 21}, {30, 31}, {40, 41}} //第二维不能写...
g := [4][2]int{1: {20, 21}, 3: {40, 41}}
h := [4][2]int{1: {0, 20}, 3: {1: 41}}
fmt.Println(e, f, g, h) //相同类型的数组之间可以使用 == 或 != 进行比较,但不可以使用 < 或 >,也可以相互赋值
fmt.Println("================================")
//函数间传递数组
//在函数之间传递变量的时候,总是以值的方式传递的。
//如果这个变量是一个数组,意味着整个数组,不管有多长,都会完整复制,并传递给函数。
array := [5]int{1, 2, 3, 4, 5}
modify(array)
fmt.Println("In main(), array values:", array)
//数组指针做函数参数:
array01 := [5]int{1, 2, 3, 4, 5} // 定义并初始化一个数组
modify01(&array01) // 数组指针
//In main(), array values: [10 2 3 4 5]
fmt.Println("In main(), array01 values:", array01)
}
执行结果如下:
专注于为中小企业提供网站建设、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业双阳免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。a[ 0 ]= 0
a[ 1 ]= 0
a[ 2 ]= 0
a[ 3 ]= 0
a[ 4 ]= 0
a[ 5 ]= 0
a[ 6 ]= 0
a[ 7 ]= 0
a[ 8 ]= 0
a[ 9 ]= 0
================================
10 10
================================
[1 2 0] [1 2 3 4] [0 0 100 0 200]
================================
[[10 11] [20 21] [30 31] [40 41]] [[10 11] [20 21] [30 31] [40 41]] [[0 0] [20 21] [0 0] [40 41]] [[0 0] [0 20] [0 0] [0 41]]
================================
In modify(), array values: [10 2 3 4 5]
In main(), array values: [1 2 3 4 5]
In modify(), array01 values: [10 2 3 4 5]
In main(), array01 values: [10 2 3 4 5]
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享文章:Go中数组的使用-创新互联
分享链接:http://hbruida.cn/article/shjcg.html