我知道结构嵌入
type newType struct {someStruct}
Run Code Online (Sandbox Code Playgroud)
我知道类型别名:
type newType = someStruct
Run Code Online (Sandbox Code Playgroud)
但是有什么实际的理由可以使用
type newType someStruct
Run Code Online (Sandbox Code Playgroud)
原始类型呢?
type newType int
Run Code Online (Sandbox Code Playgroud)
这种定义的正确名称是什么?
命名:所有的片段都是类型声明。声明之一是类型别名(带有 = 的声明)。其余的声明是类型定义。这些定义中的第一个使用带有嵌入字段的结构。
type newType someStruct当您想定义一种与其他结构类型具有相同内存布局的新类型时,该代码很有用。这可能是因为程序员想要在相同的内存布局上使用不同的方法。
该代码type newType int对于定义与int原始类型具有语义差异的类型或将方法附加到原始类型非常有用。一个例子见reflect.Kind。