2023-12-09

概括

1. 在golang中一切都是值传递

包括指针,也是一种拷贝而已

2. 结构体不能和nil比较

比如:

type Person struct {
}

func mian() {
  var p Person
  if p == nil { //这里会报错
  }
}

3. golang不能比较的一些规则

一个经验:对于一些复合类型能否比较取决于底层的依赖的数据类型;比如结构体,必须要要结构体中的所有字段都可比较那么结构才能比较。

另外一个经验:如果是一个nil一般也是可以比较的,结构体实例化后不能和nil比较。

另外:切片不可比较(要比较通过比较切片中的每个元素)
map映射不可比较,要比较也是要按照key依次去比较

4. 切片容量扩容规则

是达到后按照当前容量的2x扩容

5. 范型指的是多个类型

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容