go5--数组
package main/*
數(shù)組Array
定義數(shù)組的格式:var <varName> [n]<type>,n>=0
數(shù)組長度也是類型的一部分,因此具有不同長度的數(shù)組為不同類型
注意區(qū)分指向數(shù)組的指針和指針數(shù)組
數(shù)組在Go中為值類型
數(shù)組之間可以使用==或!=進(jìn)行比較,但不可以使用<或>
可以使用new來創(chuàng)建數(shù)組,此方法返回一個(gè)指向數(shù)組的指針
Go支持多維數(shù)組
*/
import ("fmt"
)func main() {var a [2]stringvar b [1]int //不賦值都是0
d := [2]int{}e := [2]int{1, 2}f := [2]int{1} //后面不賦值是0
g := [20]int{19: 1} //前面19個(gè)元素是0,第20個(gè)元素是1
h := [...]int{1, 2, 3, 4, 5} //前面19個(gè)元素是0,第20個(gè)元素是1,數(shù)組長度自動(dòng)計(jì)算是5
i := [...]int{0: 1, 1: 2, 2: 3, 3: 4} //通過下標(biāo)指定數(shù)組的元素,數(shù)組長度自動(dòng)計(jì)算是4
j := [20]int{19: 1} //數(shù)組長度自動(dòng)計(jì)算是20,最后一個(gè)是1,var p *[20]int = &j //數(shù)組的指針
fmt.Println(p)fmt.Println(*p)fmt.Println(j)fmt.Println(&j)x, y := 1, 2k := [...]*int{&x, &y} //指針數(shù)組
fmt.Println(k)//在其他語言中,數(shù)組是一個(gè)引用類型,函數(shù)傳參的時(shí)候傳遞的是一個(gè)地址,go語言中數(shù)組是值傳遞//函數(shù)傳參的時(shí)候是傳遞的拷貝
a := [2]int{1, 2}b := [2]int{1, 2}fmt.Println(a == b) //truec := [2]int{1, 3}fmt.Println(a == c) //falsed := [1]int{} //
fmt.Println(a == d) //invalid operation: a == d (mismatched types [2]int and [1]int),//類型不同,不能進(jìn)行比較,直接報(bào)錯(cuò)
p := new([10]int) //p是一個(gè)指向數(shù)組的指針fmt.Println(p) //&[0 0 0 0 0 0 0 0 0 0],fmt.Println(*p) //[0 0 0 0 0 0 0 0 0 0]
a := [10]int{}a[1] = 2fmt.Println(a) //[0 2 0 0 0 0 0 0 0 0]fmt.Println(&a) //&[0 2 0 0 0 0 0 0 0 0]fmt.Println(*a) //報(bào)錯(cuò)
p := new([10]int)p[1] = 3fmt.Println(p) //&[0 3 0 0 0 0 0 0 0 0]fmt.Println(*p) //[0 3 0 0 0 0 0 0 0 0]//二位數(shù)組a := [5][3]int{{1, 2, 3},{4, 5, 6},{1: 1}}fmt.Println(a) //[[1 2 3] [4 5 6] [0 1 0] [0 0 0] [0 0 0]]//冒泡排序sort := [...]int{5, 7, 3, 2, 9, 0}fmt.Println(sort)num := len(sort)for i := 0; i < num; i++ {for j := i + 1; j < num; j++ {if sort[i] < sort[j] {temp := sort[i]sort[i] = sort[j]sort[j] = temp}}}fmt.Println(sort)
}
?
轉(zhuǎn)載于:https://www.cnblogs.com/yaowen/p/8068040.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
- 上一篇: 通过rsync搭建一个远程备份系统(二)
- 下一篇: 课堂练习课下作业----用户场景分析