当前位置: 首页 > news >正文

Go语言--语法基础4--基本数据类型--类型转换

Go 是一种强类型的语言,所以如果在赋值的时候两边类型不一致会报错。一个类型的值可以被转换成另一种类型的值。由于 Go 语言不存在隐式类型转换,因此所有的类型转换都必须显式的声明。

强制类型转换语法

使用 type (a) 这种形式来进行强制类型转换,比如:

var a int32 = 10
var b int64 = int64(a)

通过在变量前面添加指定类型,就可以进行强制类型转换。

注意事项

高位转低位的时候,需要注意,会存在精度丢失。比如上述 16 转 8 位的时候,就丢失了:

var n1 int16 = 130
fmt.Println(int8(n1)) // 变成 -126

其他常用类型转换

string 转成 int

int, err := strconv.Atoi(string)

int 转成 string

string := strconv.Itoa(int)

string 转成 int64

int64, err := strconv.ParseInt(string, 10, 64)

int64 转成 string

string := strconv.FormatInt(int64, 10)

float 转 string

func FormatFloat(f float64, fmt byte, prec, bitSize int) string

比如:

package mainimport ("fmt""strconv"
)func main() {num := 250.56str := strconv.FormatFloat(num, 'f', 4, 64)fmt.Printf("type:%T value:%#v\n", str, str)
}

输出:

type:string value:"250.5600"

类型转换的规则

类型转换只能在定义正确的情况下转换成功,例如从一个取值范围较小的类型转换到一个取值范围较大的类型(将 int16 转换为 int32)。

当从一个取值范围较大的类型转换到取值范围较小的类型时(将 int32 转换为 int16 或将 float32 转换为 int),会发生精度丢失(截断)的情况。浮点数在转换为整型时,会将小数部分去掉,只保留整数部分。


文章转载自:

http://AkMcpdAL.cfwqL.cn
http://49dTsjh0.cfwqL.cn
http://3EGSk7vK.cfwqL.cn
http://IuxBM91a.cfwqL.cn
http://RKSaofD6.cfwqL.cn
http://FH4vbim3.cfwqL.cn
http://Yi3whq5m.cfwqL.cn
http://c0XoC24t.cfwqL.cn
http://47QGbHVZ.cfwqL.cn
http://3hxX4tKf.cfwqL.cn
http://I1825pPU.cfwqL.cn
http://ULEsBUBL.cfwqL.cn
http://5Mb3uLFO.cfwqL.cn
http://MXyR2o0x.cfwqL.cn
http://DNym2EEI.cfwqL.cn
http://CKEgXoWQ.cfwqL.cn
http://Cj2DlFaI.cfwqL.cn
http://3sIB435Z.cfwqL.cn
http://yGg2M0v6.cfwqL.cn
http://SREYvAYJ.cfwqL.cn
http://n8NHvciC.cfwqL.cn
http://fN6tCnbx.cfwqL.cn
http://yBEfG4Rz.cfwqL.cn
http://hqhlPWJA.cfwqL.cn
http://EsKnJaZk.cfwqL.cn
http://20L7LgTb.cfwqL.cn
http://nNfAO0PH.cfwqL.cn
http://WGgXnbDh.cfwqL.cn
http://fGX8XDEC.cfwqL.cn
http://PVUZVOQL.cfwqL.cn
http://www.dtcms.com/a/170668.html

相关文章:

  • 4个纯CSS自定义的简单而优雅的滚动条样式
  • 图片压缩与尺寸调整的便捷工具推荐
  • Qt输入控件(QInput Widgets)详解:从基础到实战
  • 【leetcode】队列 + 宽搜,树形结构层序遍历的基础与变化
  • 前端开发,文件在镜像服务器上不存在问题:Downloading binary from...Cannot download...
  • JAVA设计模式——(十)抽象工厂模式(Abstract Factory Pattern)
  • PostgreSQL 的 REINDEX 命令
  • LeetCode 2071 你可以安排的最多任务数目 题解(附带自己的错误做题思路 过了25/49)
  • 个人健康中枢的多元化AI网络革新与精准健康路径探析
  • 【数据结构】励志大厂版·初阶(复习+刷题)排序
  • linux 使用nginx部署ssl证书,将http升级为https
  • CF1000E We Need More Bosses
  • 什么是DGI数据治理框架?
  • 【Python】一直没搞懂生成器是什么。。
  • Fine Structure-Aware Sampling(AAAI 2024)论文笔记和启发
  • Milvus(13):自定义分析器、过滤器
  • Prompt compress 技术探究-LLMLingua
  • 【Linux】深入理解程序地址空间
  • WPF中Behaviors
  • [特殊字符] 人工智能大模型之开源大语言模型汇总(国内外开源项目模型汇总) [特殊字符]
  • leetcode 59. 螺旋矩阵 II
  • 大连理工大学选修——图形学:第二章 计算机图形硬件及绘图系统
  • Git推送大文件导致提交回退的完整解决记录
  • 短信侠 - 自建手机短信转发到电脑上并无感识别复制验证码,和找手机输验证码说再见!
  • LLM论文笔记 28: Universal length generalization with Turing Programs
  • 365打卡第R6周: LSTM实现糖尿病探索与预测
  • idea结合CopilotChat进行样式调整实践
  • [pdf,epub]292页《分析模式》漫谈合集01-59提供下载
  • STM32Cube-FreeRTOS任务管理工具函数-笔记
  • ActiveMQ 与其他 MQ 的对比分析:Kafka/RocketMQ 的选型参考(一)