1.go slice和map的应用
本来想把切片slice 存放到map中,然后遍历map,但是输出结果是
因为for range循环执行的时候,会创建每个元素的副本,而不是引用,所以&取的都是val的地址
val 被赋值为3,输出的结果也都是3
需要使用一个中间遍历value,这样就能每次都生成一个新地址,获取的也就是这次循环的值
在函数的多返回值中,如果有error或bool类型,则一般放在最后一个
go函数执行时,如果由于panic导致了异常,则延迟函数defer依旧会执行
go语言同级文件的包名不允许有多个
golang虽然没有显式的提供继承语法,但是通过匿名组合实现了继承
golang中没有构造函数的概念,对象的创建通常交由一个全局的创建函数来完成,以NewXXX来命名
golang结构体在序列化时非导出变量(以小写字母开头的变量名)不会被encode,因此在decode时这些非导出变量的值为其类型的零值