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

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://www.xdnf.cn/news/3789.html

相关文章:

  • MPI,Pthreads和OpenMP等并行实验环境配置
  • 【第三十四周】多模态大模型调研
  • Uni-app 组件使用
  • 什么是Linux中的systemd?
  • leetcode 59. 螺旋矩阵 II
  • 小土堆pytorch--tensorboard的使用
  • 【c++深入系列】:万字详解vector(附模拟实现的vector源码)
  • Spring MVC的工作流程, DispatcherServlet 的工作流程
  • 25.1linux中外置RTC芯片的PCF8563实验(知识)_csdn
  • 嵌入式GPIO 实验(流水灯程序,八段数码管显示程序)
  • Kubernetes 安装 kubectl
  • Qt实现 hello world + 内存泄漏(5)
  • C++学习:六个月从基础到就业——C++11/14:lambda表达式
  • MATLAB实现二氧化硅和硅光纤的单模光波特性与仿真
  • 打印Excel表格时单元格文字内容被下一行遮盖的解决方法
  • CPU 的指令集存放在什么地方?
  • 深度解析ZFNet:微调优化与可视化创新
  • 【现代深度学习技术】现代循环神经网络06:编码器-解码器架构
  • WPF中Behaviors
  • JSON Web Token 默认密钥 身份验证安全性分析 dubbo-admin JWT硬编码身份验证绕过
  • Python速成系列二
  • 多段线和二维多段线的区别及顶点遍历
  • Linux54 源码包的安装、修改环境变量解决 axel命令找不到;getfacl;测试
  • OpenHarmony平台驱动开发(一),ADC
  • 大模型实践:图文解锁Ollama在个人笔记本上部署llm
  • 一格一格“翻地毯”找单词——用深度优先搜索搞定单词搜索
  • [硬件电路-12]:LD激光器与DFB激光器功能概述、管脚定义、功能比较
  • 基于STM32的温湿度光照强度仿真设计(Proteus仿真+程序设计+设计报告+讲解视频)
  • 使用Scrapy构建高效网络爬虫:从入门到数据导出全流程
  • 互联网与无线广播:数字时代与模拟时代的通讯双轨制-优雅草卓伊凡