为什么int(0.1)是错误的,但是x:=0.1;y:=int(x)在golang中是正确的

为什么int(0.1)是错误的,但是x:=0.1;y:=int(x)在golang中是正确的,go,int,Go,Int,在戈兰 为什么 var y=int(0.1)有错误 但x:=0.1;y:=int(x)可以吗?第一个是转换常数,另一个是转换变量。在转换contant时,有不同的规则。常量:int(1.2)//非法:1.2不能表示为int非常量:如果x的类型和T都是整数或浮点类型,则x可以转换为类型T。请参阅相关/可能的重复:第一个可能的重复是转换常量,另一个是转换变量。在转换contant时,有不同的规则。常量:int(1.2)//非法:1.2不能表示为int非常量:如果x的类型和T都是整数或浮点类型,则可以

在戈兰

为什么
var y=int(0.1)
有错误
x:=0.1;y:=int(x)
可以吗?

第一个是转换常数,另一个是转换变量。在转换contant时,有不同的规则。常量:
int(1.2)//非法:1.2不能表示为int
非常量:如果
x的类型和T都是整数或浮点类型,则x可以转换为类型T。
请参阅相关/可能的重复:第一个可能的重复是转换常量,另一个是转换变量。在转换contant时,有不同的规则。常量:
int(1.2)//非法:1.2不能表示为int
非常量:如果
x的类型和T都是整数或浮点类型,则可以将x转换为类型T。
请参阅相关/可能重复:的可能重复