package main
import "fmt"
func main() {
a := [6]int{1, 2, 3, 4, 5, 6}
for i := 0; i < 6; i++ {
fmt.Printf("a[i]的类型=%T\n", a[i]) //a[i]的类型=int
if i == 0 {
a[0], a[1] = 100, 200
fmt.Print("a=", a) //a=[100 200 3 4 5 6]
}
a[i] = 100 + a[i] //200 200 3 ...--> 200 300 3 ...--> 200 300 103 ... ......
}
fmt.Println("最后a=", a) //最后a= [200 300 103 104 105 106]
aa := [6]int{1, 2, 3, 4, 5, 6}
for i, v := range aa { //todo:range一次性拿到一个数组,再自己慢慢享用
fmt.Printf("v的类型=%T\n", v) //v的类型=int
if i == 0 {
aa[0], aa[1] = 100, 200
fmt.Print("aa=", aa) //aa=[100 200 3 4 5 6]
}
aa[i] = 100 + v //101 200 3 ...--> 101 102 3 ...--> 101 102 103 ... ....
}
fmt.Println("最后aa=", aa) //最后aa= [101 102 103 104 105 106]
b := []int{1, 2, 3, 4, 5, 6}
for i := 0; i < 6; i++ {
fmt.Printf("b[i]的类型=%T\n", b[i]) //b[i]的类型=int
if i == 0 {
b[0], b[1] = 100, 200
fmt.Print("b=", b) //b=[100 200 3 4 5 6]
}
b[i] = 100 + b[i] //200 200 3 --> 200 300 3 --> 200 300 103
}
fmt.Println("最后b=", b) //最后b= [200 300 103 104 105 106]
bb := []int{1, 2, 3, 4, 5, 6}
for i, v := range bb { //todo:range一次性拿到自己享用的是一个指针和该指针指向对象的长度,因为切片bb本质是一个指向底层数组的指针,每轮循环v拿到的都是bb指针指向的数组的最新的值
fmt.Printf("v的类型=%T\n", v) //v的类型=int
if i == 0 {
bb[0], bb[1] = 100, 200
fmt.Print("bb=", bb) //bb=[100 200 3 4 5 6]
}
bb[i] = 100 + v //101 200 3 ...--> 101 300 3 ...--> 101 300 103 ... ......
}
fmt.Println("最后bb=", bb) //最后bb= [101 300 103 104 105 106]
//todo:发现只会重复一遍就结束了
c := []int{11, 22, 33, 44, 55, 66, 77, 88, 99}
for _, v := range c { //todo:range一次性拿到并慢慢享用的是一个指针和该指针指向对象的长度,因为切片c本质是一个指向底层数组的地址
c = append(c, v)
}
fmt.Println("c=", c) //c= [11 22 33 44 55 66 77 88 99 11 22 33 44 55 66 77 88 99]
for _, v := range c {
c = append(c, v)
}
fmt.Println("c=", c)
//c= [11 22 33 44 55 66 77 88 99 11 22 33 44 55 66 77 88 99 11 22 33 44 55 66 77 88 99 11 22 33 44 55 66 77 88 99]
}
12.1 slice0array.go
最新推荐文章于 2023-10-31 17:57:25 发布