【发布时间】:2021-10-12 00:37:09
【问题描述】:
在下面的代码中,我无法理解为什么声明 a = int(b) 没有将 b 的值转换为 int。另外,如果我们完全省略这一行也能达到相同的结果,那么这样做有什么意义呢?
package main
import "fmt"
func main() {
a, b := 10, 5.5
a = int(b)
fmt.Println(float64(a) + b)
}
非常感谢!
【问题讨论】:
-
这段代码的目的是什么?有了目的,就可以清理代码了。
-
将
int()视为一个接收浮点数并返回整数的函数。为什么你期望它在内部改变b的值/类型? -
a = int(b) 会以 5 的值退出 a,希望此链接对您有所帮助:golangdocs.com/type-casting-in-golang
标签: go type-conversion