Go语言中的类型转换与函数详解
类型转换
在Go语言中,类型转换表达式通过显式地改变包含值的类型来满足赋值要求。不过,并非所有类型都能相互转换。以下是常见的类型转换场景总结:
| 描述 | 代码示例 |
| — | — |
| 目标类型和转换值均为简单数值类型 | var i int
var i2 int32 = int32(i)
var re float64 = float64(i + int(i2))
|
| 目标类型和转换值均为复数数值类型 | var cn64 complex64
var cn128 complex128 = complex128(cn64)
|
| 目标类型和转换值具有相同的底层类型 | type signal int
var sig signal
var event int = int(sig)
|
| 目标类型是字符串,转换值是有效的整数类型 | a := string(72)
b := string(int32(101))
c := string(rune(108))
|
| 目标类型是字符串,转换值是字节、int32或rune的切片 | msg0 := string([]byte{'H','i'})