gpt4 book ai didi

types - 如何理解两个命名类型在 golang 中是相同的

转载 作者:IT王子 更新时间:2023-10-29 00:39:48 26 4
gpt4 key购买 nike

type identity的规则声明:

如果两个命名类型的类型名称源自相同的 TypeSpec,则它们是相同的

我不太明白两个类型名称是如何起源于同一个 TypeSpec 的。你能解释一下或给我举个例子吗?

最佳答案

只有一个类型名称可以源自 TypeSpec。这就是重点。所以

type Foo int64
var x Foo
var y Foo

那么两个 Foo 都源自同一个 TypeSpec,因此它们是相同的 Foo

但是,如果您有两个不同的文件(在不同的包中):

a.go:

type Foo int64
var x Foo

b.go:

type Foo int64
var y Foo

那么这种情况下的两个 Foo 是不相同的。尽管它们是相同的类型名称,但它们源自不同的 TypeSpec。这样做的结果是 xy 的类型不相同(因此 x = y 没有转换是不允许的)。

关于types - 如何理解两个命名类型在 golang 中是相同的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20089670/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com