类型定义和类型别名
题目:
下面这段代码能否通过编译?如果通过,输出什么?
1 |
|
答案解析
不能通过编译。
type MyInt1 int
是创建了新类型MyInt1
type MyInt2 = int
是创建了int的类型别名MyInt2
var i1 MyInt1 = i
代码中相当于将int类型的变量赋值给MyInt类型的变量,Go是强类型语言,编译肯定不通过,
而var i2 MyInt2 = i
中的MyInt2只是int的别名,其本质还是int,所以可以赋值。
类型定义和类型别名
http://example.com/2023/05/23/Go每日一题/类型定义和类型别名/