类型转换

表达式 T(v) 将值 v 转换为类型 T

一些关于数值的转换:

  1. var i int = 42
  2. var f float64 = float64(i)
  3. var u uint = uint(f)

或者,更加简单的形式:

  1. i := 42
  2. f := float64(i)
  3. u := uint(f)

与 C 不同的是,Go 在不同类型的项之间赋值时需要显式转换。试着移除例子中 float64uint 的转换看看会发生什么。

type-conversions.go

  1. package main
  2. import (
  3. "fmt"
  4. "math"
  5. )
  6. func main() {
  7. var x, y int = 3, 4
  8. var f float64 = math.Sqrt(float64(x*x + y*y))
  9. var z uint = uint(f)
  10. fmt.Println(x, y, z)
  11. }