我在代码中偶然发现了这种类型的别名:
type LightSource = struct {
R, G, B, L float32
X, Y, Z, A float32
//...
}
我的问题是:为什么要使用类似这样的类型别名来定义struct
而不是这样做呢?
type LightSource struct {
R, G, B, L float32
//...etc
}
答案 0 :(得分:6)
在这种情况下,我认为这是错误地完成的-第一种选择“匿名”定义了一个类型,然后为其分配了别名,因此两种情况下的最终结果都是相同的,但是第二种选择仍然是唯一的正确的。
类型别名仅在少数情况下有用,例如正如here所写,它们对于大规模重构很有用。