如果使用短变量声明,为什么Go不返回float作为输出?

时间:2019-07-03 19:29:19

标签: go

以下代码给出1作为输出,而不是1.025 不会根据第一个实例中存储的数据来分配数据类型

x := 41/40

OUTPUT = 1

2 个答案:

答案 0 :(得分:2)

因为您进行了整数除法。

如果将其更改为x := 41.0/40,则会得到浮动结果。

答案 1 :(得分:0)

Go short变量声明将根据给定的数据推断数据类型。在您的情况下,您给了它两个整数值,然后将一个整数除以一个整数将返回一个整数。任何余数都会被截断,但是可以通过取模运算符获得。

示例:

x := 41/40
r := 41%40

fmt.Printf("41 ÷ 40 = %d, R%d\n", x, r )