1.2 学习笔记之数据类型
整数、数组与切片代码示例
package main var a = "鱼只有七分钟的记忆吗?" var b uint16= 65534 var c bool = true var arr1 = [4]uint8{192,168,0,1} var arr2 = [...]uint8{192,168,0,2} var slic1= []string{"192.168.0.1","192.168.0.2"} var slic2=append(slic1,"192.168.0.3") var slic3=make([]string,50) func main(){ println(a,b,c) println(len(arr1),cap(arr2),len(slic2),cap(slic3)) }
输出
鱼只有七分钟的记忆吗? 65534 true 4 4 3 50
重点
uint8 0-255,int8则是-128-127,这两个是Go的最小长度类型,其他类型在内存中分配的长度都要比这两个大;
其他整数类型,将8替换为16,32,64即可,可用于详细规划内存
...,三个小黑点,由Go编译器计算该值的元素数量并以此获得其长度,也适用于函数参数
append可以为切片类型[]string追加元素
make可以高效地为一个切片初始化数据,make([]string,50)则是一次性初始化50个默认值为""的元素
map代码示例
package main var m1 = map[string]bool{} func main(){ m1["魔镜,我是世界上最美的女人吗"]= false println(m1["魔镜,我是世界上最美的女人吗"]) println(len(m1)) delete(m1,"魔镜,我是世界上最美的女人吗") println(len(m1)) delete(m1,"魔镜,我是世界上最美的女人吗") println(len(m1)) }
delete可以删除本身就不存在的元素,输出
false 1 0 0