go语言还有更复杂的数据类型,
强制类型转换,类型转换用于将一种数据类型的变量转换为另外一种类型的变量,go语言类型转换的基本格式type_name(expression)
在做强制类型转换时,需要注意数据长度被截断而发生的数据精度损失,与值溢出
package main
import "fmt"
func main() {
sum := 11
count := 3
mean := float32(sum) / float32(count)
mean2 := sum / count
fmt.Printf("mean的值为:%f\n", mean)
fmt.Printf("mean2的值为:%d\n", mean2)
}
自定义类型
type stu struct {
}
类型别名
我们知道byte类型实际上是int8类型的别名,而rune类型实际上是int32类型的别名,go语言也允许开发者自定义类型
package main
import "fmt"
type (
字符串 string
)
func main() {
var b 字符串
b = "这是中文。"
fmt.Println(b)
a := "这也是中文"
fmt.Println(string(b) + a)
// fmt.Println(a + b)
}
类型别名与原类型是两种类型,不能直接操作,需要类型转换