Golang 教程
Golang 控制语句
Golang 函数 & 方法
Golang 切片 & 数组
Golang 结构体
Golang 字符串
Golang 接口
Golang 指针
Golang 并发
Golang 异常(Error)
Golang 其他杂项

Go 类型转换

时间:2023年06月10日 阅读:192
以下内容仅是站长或网友个人学习笔记、总结和研究收藏。不保证正确性,因使用而带来的风险与本站无关!
淘客轩-衣食住行外卖生活好助手

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

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

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

var momojc1 int = 845

// 显式类型转换
var momojc2 float64 = float64(momojc1)
var momojc3 int64 = int64(momojc1)
var momojc4 uint = uint(momojc1)
//计算平均值
package main
import "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 momojc1 int64 = 875

//它会在编译时抛出错误给我们
//因为正在执行混合类型,例如把int64作为int类型
var momojc2 int = momojc1

var momojc3 int = 100
//它抛出编译时错误
//这是无效操作
//因为类型是混合的 int64 和 int 相加
var addition = momojc1 + momojc3
打赏
标签: Go 类型转换

本文地址:https://www.momojc.cn/golang/go-type-casting-or-type-conversion.html

关于本站 | 隐私政策 | 免责声明 | 广告合作 | 我要投稿 | 后台管理

CopyRight © 2023-2024 MOMO教程 WWW.MOMOJC.CN , All Rights Reserved.

站长E-mail:378074730@qq.com 网站已运行:  运行时长:0.037 秒

京ICP备20029690号-1京ICP备20029690号-2 京公网安备11011402013892号京公网安备11011402013892号 中国互联网违法和不良信息举报中心 网络违法犯罪举报网站

本网站托管于 腾讯云 .由网站卫士提供网站加速和攻击防御服务 提供CDN加速/防御服务.由zblogcn强力驱动 又拍云提供CDN加速/云存储服务 51la网站统计