小编muh*_*ame的帖子

与 golang 中的类型转换混淆

最近想学习golang。但我对https://tour.golang.org/basics/13中的这段代码感到困惑。

package main

import (
    "fmt"
    "math"
)

func main() {
    var x, y int = 3, 4
    var f float64 = math.Sqrt(float64(x*x + y*y))
    var z uint = uint(f)
    fmt.Println(x, y, z)
}
Run Code Online (Sandbox Code Playgroud)

那个效果很好。然后我尝试了

var f = math.Sqrt(9 + 16)

这也有效。但是当我更改它时,var f = math.Sqrt(x*x + y*y)为什么它不起作用?它说cannot use x * x + y * y (type int) as type float64 in argument to math.Sqrt

我有 javascript 背景,但不知何故无法理解上面的代码。

go

3
推荐指数
1
解决办法
8922
查看次数

标签 统计

go ×1