相等的未命名类型
- 具有相同元素类型和长度的Array
- 具有相同元素的Slice
- 拥有相同字段序列(字符名、类型、标签相同、顺序相同)的匿名Struct)
- 相同基类型的Pointer
- 拥有完全相同签名(参数和返回值相同,但不包括参数名)的Function
- 拥有相同方法集签名(函数名、参数名相同,函数排列次序无关)的Interface
- 拥有相同Key、Value类型的Map
- 拥有相同数据类型和传递方向的Channel
type 定义的新类型
这个关键字定义的基于其它类型的新类型,并不是一个别名,而是一个全新的类型。
除了底层类型拥有相同的数据结构外,并不会“继承”包括方法在内的任何信息
这与struct匿名字段嵌入完全不同
如果底层类型是命名类型,必需进行显式转换,才能将新类型对象转换为底层类型