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)
}
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
霍文俊
hwj***3@163.com
go 不支持隐式转换类型,比如 :
package main import "fmt" func main() { var a int64 = 3 var b int32 b = a fmt.Printf("b 为 : %d", b) }此时会报错
但是如果改成 b = int32(a) 就不会报错了:
package main import "fmt" func main() { var a int64 = 3 var b int32 b = int32(a) fmt.Printf("b 为 : %d", b) }霍文俊
hwj***3@163.com
ugvibib
ugv***b@163.com
怎么能缺少了string转int、int转string呢~
package main import ( "fmt" "strconv" ) func main() { // string to int aStr := "100" bInt, err := strconv.Atoi(aStr) if err == nil { fmt.Printf("aStr:%T %s,bInt:%T %d", aStr, aStr, bInt, bInt) } else { fmt.Printf("err:%s", err) } // int to string cInt := 200 dStr := strconv.Itoa(cInt) fmt.Printf("cInt:%T %d,dStr:%T %s", cInt, cInt, dStr, dStr) }ugvibib
ugv***b@163.com