一个类型名称只能源自TypeSpec。这就是重点。所以
type Foo int64var x Foovar y Foo
则两个都
Foo起源于相同的TypeSpec,因此它们是相同
Foo的。
但是,如果您有两个不同的文件(位于不同的程序包中):
前:
type Foo int64var x Foo
b.go:
type Foo int64var y Foo
那么,
Foo在这种情况下,两个s是不相同的。即使它们是相同的类型名称,它们也源于不同的TypeSpec。这样做的结果是,类型
x和
y不相同(且因此
x= y不进行强制转换是不允许的)。



