在Go语言中,不同类型的项之间赋值时,需要显式转换。
表达式 T(v) 将值 v 转换为类型 T 。
var i int = 42
var f float64 = float64(i)
var u uint = uint(f)
或者更简单的写法
i := 42
f := float64(i)
u := uint(f)
当定义了一个变量,却没有显式指出其类型时,变量的类型由等号右侧的值(第一次赋值)推导出变量的类型。
例如
i := 42 // int
f := 3.142 //float64
g := 0.867 + 0.5i //complex128
运行下面代码,可以输出类型
package main
import(
"fmt"
)
func main(){
i := 42
f := 3.142
g := 0.867 + 0.5i
fmt.Printf("i is of type %T\n", i)
fmt.Printf("f is of type %T\n", f)
fmt.Printf("g is of type %T\n", g)
}
运行结果
i is of type int
f is of type float64
g is of type complex128
你可以用这个方法,测试一下各种类型的数据,看看都是什么结果。