go(day3[数组])
数组:var 变量名[len]type使用场景:
数组初始化:
定义:????var 变量名 [len]type
- var?a[5]?int?=?[5]int{1,2,3,4,5}
- ceshi?:=[5]int{1,3,4,5}
- var?b?=?[5]int{1,3}
- var?c?=?[...]int{1,3,4,5,10}
示例:
- var ? a[5] int
- var ? a[5] string
- var ? a[5] float32
- var ? a[5] bool
访问数组中的元素:
使用下标访问:?a[0]访问第一个元素。长度为5的数组访问如下: a[0], a[1], a[2], a[3], a[4]
数组中的长度:
var a[10]int
lengh :=len(a)
示例代码拆分部分:
- var?a?[10]int
- for?i?:=0;i<len(a);i++{
- ???fmt.Printf("%p\n",&a[i])
- }
- length: =len(a) ? 数组长度
- func ? test2() ? ?{ ? ??
- var ? a[5] int ? ?=?[5] int ? {
- 1,
- 2,
- 3,
- 4,
- 5
- } ? ??
- var ? b[5] ? int ? ??b ? =?a ? ??fmt.Printf("%v\n", b) ? ??b[0] ? =?200 ? ??fmt.Printf("%v\n", b) ? ??fmt.Printf("%v\n", a)
- }
- var?d?[5]string?=?[5]string{1:"abc",4:"zcq"}
- //%#??以go的方式打印!!!
- fmt.Printf("%#%v\n",d)
- fmt.Printf("%v\n",a,b,c)
- func?test4()??{
- ???//二维数组
- ???var?a[4][2]int
- ???for?i:=0;i<4;i++{
- ??????for?j:=0;i<2;j++{
- ?????????a[i][i]?=?(i+1)?*(j+1)
- ??????}
- ???}
- ???for?i:=0;i<4;i++{
- ??????for?j:=0;i<2;j++{
- ?????????fmt.Printf("%d",a[i][j])
- ??????}
- ??????fmt.Println()
- ???}
- }
- r ? :=?rand.New(rand.NewSource(time.Now().Unix())
- func?test5()??{
- ???//随机数字放入数组
- ???r?:=?rand.New(rand.NewSource(time.Now().Unix()))
- ???var?five?[100]int
- ???//数组?通过索引来赋值
- ???for?i:=0;i<len(five);i++{
- ??????//赋值操作
- ??????five[i]=r.Int()
- ??????//取值操作
- ??????fmt.Printf("%d\n",five[i])
- ???}
- ???fmt.Printf("%d\n",five)
- }
- func?test6()??{
- ???
- ???var?a?[100]string
- ???var?b?string?=?"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
- ???for?i:=0;i<len(a);i++{
- ??????var?str?string
- ??????for?j:=0;j<len(b);j++{
- ?????????index?:=rand.Intn(len(b))
- ?????????//Sprintf?格式化并返回格式化后的字符串
- ?????????str?=?fmt.Sprintf("%s%c",str,b[index])
- ??????}
- ??????a[i]?=?str
- ??????fmt.Printf("a[%d]=%s\n",i,a[i])
- ???}
- }
Go(day3[数组])
来源: http://www.bubuko.com/infodetail-2425453.html