在阅读 go 规范“可分配性”部分时,我尝试执行几个示例以更好地理解该主题,现在我无法理解我在代码中做错了什么。根据规范,值x可分配给类型变量的一种T情况如下:x 的类型 V 和 T 具有相同的基础类型,并且 V 或 T 中的至少一个不是定义的类型。定义的类型规范指出类型定义创建一个新的、不同的类型,它具有与给定类型相同的基础类型和操作,并将标识符绑定到它。但是当我尝试运行以下代码时,构建失败:func main() { type Defined int32 var d Defined var i int32 d = i}输出是:cannot use i (type int32) as type Defined in assignment同时,使用复合文字的类似示例也可以正常工作:func main() { type MyMap map[string]int var x MyMap var y map[string]int x = y}
添加回答
举报
0/150
提交
取消