面试题答案
一键面试- 是否是相同类型及原因:
- 在Go语言中,
type A struct { Name string }
和type B struct { Name string }
不是相同类型。 - 原因是Go语言中结构体类型不仅取决于其内部字段的组成,还取决于结构体类型的定义本身。即使两个结构体具有相同的字段列表,但它们是不同的类型定义,所以是不同的类型。
- 在Go语言中,
- 修改代码使其作为相同类型处理:
- 可以将其中一个结构体类型定义为另一个的别名。例如:
type A struct { Name string } type B = A
- 这样
A
和B
就是相同类型了,因为B
现在是A
的别名。