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

 

posted @ 2019-01-14 11:22  方诚  阅读(162)  评论(0编辑  收藏  举报