其他分享
首页 > 其他分享> > 8.30Go之数据类型转换

8.30Go之数据类型转换

作者:互联网

8.30Go之数据类型转换

Go语言当中的类型转换

特点:

Go语言不存在隐式类型转换,所有的类型转换都必须显式的声明:

valueOfTypeB = typeB(valueOfTypeA)
/*
类型 B 的值 = 类型 B(类型 A 的值)
*/

Go语言当中数据类型转换的一些特性

底层类型相同指的是值类型,值类型可以向引用类型转型。例如:将一串int转成string类型

示例:

package main

import (
"fmt"
"math"
)

func main() {
/*打印数据类型的最大最小值*/
fmt.Println("int8 range is:", math.MinInt8, math.MaxInt8)

/*声明一个int32整数型*/
var num int32 = 1047483647
//格式化输出变量的16进制形式和10进制形式
fmt.Printf("int32: 0x%x %d\n", num, num)

/*数值转型为int16*/
num2 := int16(num)
fmt.Printf("int16: 0x%x %d\n", num2, num2)
/*
上下两次打印的结果上看发生了精度丢失
*/

/*声明一个float变量*/
var num3 float32 = math.Pi //圆周率
fmt.Println(int(num3)) //精度丢失,小数点后的数全部丢失
   /*
   浮点数在转换为整型时,会将小数部分去掉,只保留整数部分。
   */
}

fmt.Printf%x动词将数值以十六进制格式输出,输出 num 在转换前的 32 位的值。

 

标签:类型转换,int32,fmt,类型,num,8.30,Go
来源: https://www.cnblogs.com/JunkingBoy/p/15207409.html