一、基本数据类型之间的转换
- Go在不同类型的变量之间赋值时需要显示转换,并且只有显示转换(强制转换)
- 语法:
- 表达式T(v)将值v转换为类型T
- T:就是是数据类型
- v:就是需要转换的变量
- 示例
package main
import "fmt"
func main() {
var n1 int = 100
//进行类型转换
var n2 float32 = float32(n1)
fmt.Println(n2)
//注意:n1的类型还是int,只是将n1的值转换成了float32而已
fmt.Printf("%T", n1) //int
//将int64转换为int8时,编译不会出错,但可能会存在数据的溢出
var n3 int64 = 999999
var n4 int8 = int8(n3)
fmt.Println(n4) //63
var n5 int32 = 12
var n6 int64 = int64(n5) + 30 //运算时一定要匹配数据类型
fmt.Println(n5, n6) //12 42
var n7 = 3
//var n8 int8 = int8(n7) + 128 //编译不会通过
var n9 int8 = int8(n7) + 127 //编译通过,但可能数据溢出
fmt.Println(n9) //-126
}