CodeFun Go

类型转换

Go 语言中没有隐式转换,类型的转换需要显式声明。

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

int、 uint、float 可以使用 T(v) 表达式相互转换。

var i int = 21
var i64 int64 = int64(i)
var f float64 = float64(i)
var u uint = uint(f)

byte、[]byte、string 可以使用 T(v) 表达式相互转换。

var b []byte = []byte("golang")
var s string = string(b)
package main

import "fmt"

func main() {
    var i int = 21

    fmt.Printf("int64(i) type is %T\n", int64(i))
    fmt.Printf("float64(i) type is %T\n", float64(i))
    fmt.Printf("uint(float64(i)) type is %T\n", uint(float64(i)))

    var b []byte = []byte("golang")

    fmt.Printf("string(b) type is %T\n", string(b))
}
int64(i) type is int64
float64(i) type is float64
uint(float64(i)) type is uint
string(b) type is string