阅读 93

Go 类型转换

先决条件,您应该学习了:Golang数据类型

当我们将一种数据类型的值分配给另一种数据类型时,就会发生类型转换。诸如C / C ++,Java之类的静态类型语言提供了对隐式类型转换的支持,但是Golang有所不同,因为即使数据类型兼容,它也不支持自动类型转换或隐式类型转换。原因是Golang的强类型系统不允许这样做。对于类型转换,必须执行显式转换。

Golang 如何进行类型转换?
如果您需要利用数据类型层次结构的某些特征,那么我们必须将实体从一种数据类型转换为另一种数据类型。将值val转换为类型T的一般语法是T(val)。

var nhooo1 int = 845// 显式类型转换var nhooo2 float64 = float64(nhooo1)var nhooo3 int64 = int64(nhooo1)var nhooo4 uint = uint(nhooo1)

示例

//计算平均值package mainimport "fmt"func main() {

    var totalsum int = 446    var number int = 23    var avg float32    // 显式类型转换    avg = float32(totalsum) / float32(number)

    // 显示结果    fmt.Printf("平均值 = %f\n", avg)
}

输出:

平均值 = 19.391304

注意:由于Golang具有强大的类型系统,因此不允许在表达式中混合使用数字类型(例如加,减,乘,除等),并且不允许在两个混合类型之间执行赋值类型。

var nhooo1 int64 = 875//它会在编译时抛出错误给我们//因为正在执行混合类型,例如把int64作为int类型var nhooo2 int = nhooo1var nhooo3 int = 100//它抛出编译时错误//这是无效操作//因为类型是混合的 int64 和 int 相加var addition = nhooo1 + nhooo3


文章分类
代码人生
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐