第四章:Go语言基础下
1、array就是数组:var arr[n]type
数组可以使用另一种 := 来声明
2、slice -- Go的动态数组 var fslice[]int
slice也可以使用 := 来声明
例如 s:=make([]int,10,20)
还可以通过从一个数组或者一个已经存在的slice中再次声明
3、map -- map[keyType]valueType
student := make(map[string]int)
make 用于内建类型(map,slice 和 channel)的内存分配
4、示例
package main
import (
"fmt"
)
func main() {
//var x map[string]float32
//x["zhangsan"] = 90.90
//fmt.Printf("%v", x)
//上述程序会报错 因为map使用前必须make分配内存 否则会报 nil map错误
x := make(map[string]float32)
x["zhangsan"] = 90.90
fmt.Printf("%v", x)
}
package main
import (
"fmt"
)
func main() {
x := [10]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
fmt.Printf("%v", x)
y := x[1:3]
fmt.Printf("%v", y)
t := x[3:]
fmt.Printf("%v", t)
f := x[:3]
fmt.Printf("%v", f)
}
package main
import (
"fmt"
)
func main() {
x := make([]int, 3, 5)
x = append(x, 4, 5, 6, 7, 8)
fmt.Printf("%v\n", x)
fmt.Printf("%v\n", len(x)) //代表现在slice中元素的个数
fmt.Printf("%v\n", cap(x)) //代表现在slice底层的分配的空间是多大 当append加入的元素个数超过此值时 底层会自动扩充
}
浙公网安备 33010602011771号