Go每日一题(6)
以下代码是否编译通过:
package main import "fmt" type MyInt1 int type MyInt2 = int func main() { var i int =0 var i1 MyInt1 = i var i2 MyInt2 = i fmt.Println(i1,i2) }
输出结果:
编译不通过,cannot use i (type int) as type MyInt1 in assignment。
MyInt1 和 MyInt2 是int 别名类型,数据类型还是int,但底层做了二次封装;
Go是强数据类型,必须作类型转换才能接收值, 正确做法是:
package main import "fmt" type MyInt1 int type MyInt2 = int func main() { var i int =0 var i1 MyInt1 = MyInt1(i) var i2 MyInt2 = MyInt2(i) fmt.Println(i1,i2) }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】博客园2025新款「AI繁忙」系列T恤上架,前往周边小店选购
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步