类型转化
题目:
关于类型转化,下面选项正确的是?
1 | |
答案:
1 | |
解析:
- A选项是错误的,因为将int类型的变量赋值给MyInt类型的变量是不允许的。
- 选项 B 是错误的,应该是使用类型转换语法将 int 类型的变量转换为 MyInt 类型,即
var j MyInt = MyInt(i)。 - 对于选项 C,使用类型转换表达式
MyInt(i)可以将i的值从int类型转换为MyInt类型,并将结果赋给j。 - 对于选项 D,使用类型断言
i.(MyInt)是错误的,因为i的底层类型是int,而不是MyInt,所以无法将其转换为MyInt类型。
类型断言:用于将接口类型的值转换为具体的类型。在转换的过程中需要注意以下几点:
- 语法:value.(type)
- value:接口类型的值
- type:需要转换的具体类型
- 转换前需要判断接口类型的值是否为 nil 或者对应类型的零值,避免在转换时出现 panic。
下面是一个类型断言的正确使用示例:
1 | |
输出如下:
1 | |
类型转化
http://example.com/2023/04/27/Go每日一题/类型转化/