购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.3 类型转换

在Go语言中,可以把一个类型的值转换成另一个类型的值,这个转换过程称作类型转换。在Go语言类型转换中,没有隐式类型转换,所有的转换都必须显式声明。

Go语言类型转换的语法格式如下。

参数说明如下。

T:转换后的数据类型,如int32、int64、float32等。

v:要被转换的变量。

v1:转换后的变量。

Go语言可以准确无误地把取值范围较小的类型转换为取值范围较大的类型,例如,int32类型的值可以转换成int64类型的值。但把取值范围较大的类型转换为取值范围较小的类型时,会发生精度丢失的情况。

例如,定义值为7.11的float32类型变量f后,再把变量f的类型显式转换为int32类型,而后得到类型转换后的变量i。代码如下。

运行结果如下。

    f = 7.11
    i = 7

因为float32类型比int32类型的取值范围大,所以把float32类型的值转换为int32类型的值后会丢失精度。

注意,上面的方法只适用于数值类型之间的转换,如果在字符串和数值类型之间进行转换,则需要使用strconv.Itoa()、strconv.Atoi()、Parse系列函数或Format系列函数,其中,strconv.Itoa()函数用于将整型转换为字符串;strconv.Atoi()函数用于将字符串转换为整型;Parse系列函数用于将字符串转换为给定类型的值,常用的有ParseBool()、ParseInt()、ParseUint()和ParseFloat()等;Format系列函数用于将给定类型数据格式化为字符串类型,常用的有FormatBool()、FormatInt()、FormatUint()和FormatFloat()等。

字符串与数值类型之间的转换,代码如下。

运行结果如下: 6q7yQUekaATABs83zBCr4ptxkmZ5NJ9rwBWLSDAwM9i/txAsF0JpZZErBW40EEH7

    转换后的字符串值:5  7.11
    150
    <nil>
    false <nil>
点击中间区域
呼出菜单
上一章
目录
下一章
×

打开