Go 语言类型转换
类型转换用于将一种数据类型的变量转换为另外一种类型的变量。Go 语言类型转换基本格式如下:
type_name(expression)
type_name 为类型,expression 为表达式。
实例
以下实例中将整型转化为浮点型,并计算结果,将结果赋值给浮点型变量:
package main import "fmt" func main() { var sum int = 17 var count int = 5 var mean float32 mean = float32(sum)/float32(count) fmt.Printf("mean 的值为: %f\n",mean) }
以上实例执行输出结果为:
mean 的值为: 3.400000
go 不支持隐式转换类型
示例:
package main import "fmt" func main() { var a int64 = 3 var b int32 b = a fmt.Printf("b 为 : %d", b) }
此时会报错
cannot use a (type int64) as type int32 in assignment cannot use b (type int32) as type string in argument to fmt.Printf
但是如果改成 b = int32(a)
就不会报错了:
package main import "fmt" func main() { var a int64 = 3 var b int32 b = int32(a) fmt.Printf("b 为 : %d", b) }