Go在不同类型的变量之间赋值时需要显示转换,并且只有显式转换(强制转换)
语法:
表达式T(v)将值v转换为类型T
- T:就是数据类型
- v:就是需要转换的变量
package main
import "fmt"
func main() {
var a int = 1
// var b string = a
var b = float32(a)
fmt.Println(b)
//将int64转为int8的时候,编译不会出错的,但是会出现数据的溢出
var n int64 = 888888
var n1 int8 = int8(n)
fmt.Println(n1) //56
var n5 int32 = 12
//var n6 int64 = n5 + 30 //报错
var n6 int64 = int64(n5) + 30 //报错
fmt.Println(n5)
fmt.Println(n6)
var n7 int64 = 12
var n8 int8 = int8(n7) + 127 //-117 编译通过,结果可溢出
// var n9 int8 = int8(n7) + 128 //编译不会通过
fmt.Println(n8)
// fmt.Println(n9)
}