Go 数字类型
一、数字类型
1、Golang 数据类型介绍
- Go 语言中数据类型分为:基本数据类型和复合数据类型
- 基本数据类型有:
- 整型、浮点型、布尔型、字符串
- 复合数据类型有:
- 数组、切片、结构体、函数、map、通道(channel)、接口
2、整型分为两大类
- 有符合整型按长度分为:int8、int16、int32、int64
- 对应的无符合整型:uint8、uint16、uint32、uint64

- 关于字节:
- 字节也叫 Byte,是计算机数据的基本存储单位。8bit(位)=1byte(字节)1024byte(字节)=1kb
- 1024KB=1MB 1024MB=1GB
- 1024GB=1TB。在电脑里一个中文字是占两个字节的
3、unsafe.Sizeof
- unsafe.Sizeof(n1)是 unsafe 包的一个函数。可以返回n1 变量占用的字节数
package main
import ("fmt""unsafe"
)
func main() {var a int8 = 124fmt.Printf("%T\n", a) // int8fmt.Println(unsafe.Sizeof(a)) // 1 (表示占用1个字节,也就是8 byte)
}
4、int 不同长度直接的转换
package mainimport ("fmt"
)func main(){var num1 int8num1 := 127num2 := int32(num1) //讲 num1 类型转换程 int32 并赋值给 num1fmt.Printf("值:%v 类型%T",num2,num2) //值:127 类型 int32
}
5、浮点型
- Go语言支持两种浮点型数:float32和float64
package mainimport("fmt""math"
)func main(){fmt.Printf("%f\n",math.Pi) //3.141593(默认保留6位小数)fmt.Printf("%.2f\n",math.Pi) //3.14(保留2位小数)
}
6.reflect.TypeOf查看数据类型
package mainimport("fmt""reflect"
)func main(){c := 10fmt.PrintIn(reflect.TypeOf(c)) //int
}
二、int互转
1、int常用转换
package mainimport("fmt""strconv"
)func main(){//string到intintV,_ := strcomv.Atoi("123456")// string到int64int64V,_ := strconv.ParseInt("123456",10,64)//int到stringstrS := strconv.Itoa(123)//int64到stringvar tmp int64 =123str64S:=strconv.FormatInt(tmp,10)fmt.Printf("%T--%T--%T--%T",intV,int64V,strS,str64S)//int--int64--string-string
}
2、int8转int16
package mainimport "fmt"func main(){var a int8 = 20var b int16 =40var c int16(a) + b //要转换成形同类型才能运行fmt.Printf("值:%V--类型%T",c,c) //值:60--类型 int16}
3、int16转float32
package mainimport "fmt"func main(){var a float32 =3.2var b int16 =6var c = a + float32(b)fmt.Printf("值:%V--类型%T",c,c) //值:9.2--类型float32}
4、math.Sqrt强转
package mainimport("fmt""math"
)func main(){var a,b =3,4var c int//math.Sqrt()接收的参数是float64类型,需要强制转换c = int(math.Sqrt(float64(a*a+b*b)))fmt.PrintIn(c) // 5
}
三、int与str转换
1、int与str转换
package mainimport("fmt""strconv"
)func main(){//2.1 int64转strvar num2 int64 = 123456str2 := strconv.FormatInt(num2,10)fmt.Printf("%V--%T\n",str2,str2) //12345--string//2.2 str转int64v1,_ := strconv.ParseFloat(str2,64)fmt.Printf("%v---%T\n",v1,v1) // 123456---float64
}
2、str与int64转换
package main
import ("fmt""strconv"
)func main() {//1.1 int转stingnum1 := 123456str1 := strconv.Itoa(num1)fmt.Printf("%v---%T \n",str1,str1) // 123456---string// 1.2 sting转int_int, err := strconv.Atoi(str1)fmt.Println(_int,err) // 123456 <nil>fmt.Printf("%v---%T\n",_int,_int) // 123456---int//2.1 int64转strvar num2 int64 = 123456str2 := strconv.FormatInt(num2, 10)fmt.Printf("%v---%T \n",str2,str2) // 123456---string//2.2 str转int64v1, _ := strconv.ParseFloat(str2, 64)fmt.Printf("%v---%T\n",v1,v1) // 123456---float64
}
四、布尔值
-
Go 语言中以 bool 类型进行声明布尔型数据,布尔型数据只有 true(真)和 false(假)两个值。
-
注意:
-
布尔类型变量的默认值为 false。
-
Go 语言中不允许将整型强制转换为布尔型
-
布尔型无法参与数值运算,也无法与其他类型进行转换
-
package main
import ("fmt""unsafe"
)
func main() {var b = truefmt.Println(b, "占用字节:", unsafe.Sizeof(b)) // true 占用字节: 1
}
相关文章:
Go 数字类型
一、数字类型 1、Golang 数据类型介绍 Go 语言中数据类型分为:基本数据类型和复合数据类型基本数据类型有: 整型、浮点型、布尔型、字符串复合数据类型有: 数组、切片、结构体、函数、map、通道(channel)、接口 2、…...
时间序列预测 — Informer实现多变量负荷预测(PyTorch)
目录 1 实验数据集 2 如何运行自己的数据集 3 报错分析 1 实验数据集 实验数据集采用数据集4:2016年电工数学建模竞赛负荷预测数据集(下载链接),数据集包含日期、最高温度℃ 、最低温度℃、平均温度℃ 、相对湿度(平均) 、降雨…...
2023年金融信创行业研究报告
第一章 行业概况 1.1 定义 金融信创是指在金融行业中应用的信息技术,特别是那些涉及到金融IT基础设施、基础软件、应用软件和信息安全等方面的技术和产品。这一概念源于更广泛的“信创 (信息技术应用创新)”,即通过中国国产信息技术替换海外信息技术&a…...
51单片机按键控制LED灯亮灭的N个玩法
51单片机按键控制LED灯亮灭的N个玩法 1.概述 这篇文章介绍按键的使用,以及通过控制LED灯的小实验,发现按键中存在的问题,然后思考并解决这些问题。达到熟练使用按键控制元器件。 2.搭建硬件环境 1.硬件准备 名称型号数量单片机STC12C205…...
推荐6款本周 yyds 的开源项目
🔥🔥🔥本周GitHub项目圈选: 主要包含 链接管理、视频总结、有道音色情感合成、中文文本格式校正、GPT爬虫、深度学习推理 等热点项目。 1、Dub 一个开源的链接管理工具,可自定义域名将繁杂的长链接生成短链接,便于保…...
【Git】git 更换远程仓库地址三种方法总结分享
因为公司更改了 gitlab 的网段地址,发现全部项目都需要重新更改远程仓库的地址了,所以做了个记录,说不定以后还会用到呢。 一、不删除远程仓库修改(最方便) # 查看远端地址 git remote -v # 查看远端仓库名 git rem…...
springboot 返回problem+json
spring所有配置都在WebMvcAutoConfiguration中 其中有 ProblemDetailsExceptionHandler 容器中的一个组件 -ControllerAdvice用来集中处理异常的 -点进ResponseEntityExceptionHandler 包含这些异常,如果出现以下异常,会被springboot支持以RFC 7807规…...
AI动画制作 StableDiffusion
1.brew -v 2.安装爬虫项目包所必需的python和git等系列系统支持部件 brew install cmake protobuf rust python@3.10 git wget pod --version brew link --overwrite cocoapods 3.从github网站克隆stable-diffusion-webui爬虫项目包至本地 ssh-add /Users/haijunyan/.ssh/id_r…...
【开源】基于Vue和SpringBoot的木马文件检测系统
项目编号: S 041 ,文末获取源码。 \color{red}{项目编号:S041,文末获取源码。} 项目编号:S041,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 木马分类模块2.3 木…...
5 动态规划解分割等和子串
来源:LeetCode第416题 难度:中等 描述:给你一个只包含正整数的非空数组nums,请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等 分析:相当于从nums数组中选取一些元素,使得他们的和为…...
file_get_contents() 函数详解与使用
概述 在PHP中,file_get_contents() 函数是一个强大的工具,它既可以用于读取本地文件的内容,也可以用于发起 HTTP 请求获取远程资源。本文将详细介绍 file_get_contents() 函数的两种主要用途,并探讨如何充分利用这个函数。 1. 文…...
某医生用 ChatGPT 在 4 个月内狂写 16 篇论文,其中 5 篇已发表,揭密ChatGPT进行论文润色与改写的秘籍
如果写过学术论文,想必会有这样的感受: 绞尽脑汁、茶饭不思、夜不能寐、废寝忘食、夜以继日,赶出一篇论文,然后还被导师点评,“写得就是一坨!” 可是,却有人4个月产出了16篇论文,成功…...
进程等待讲解
今日为大家分享有关进程等待的知识!希望读完本文,大家能有一定的收获! 正文开始! 进程等待的引进 既然我们今天要讲进程等待这个概念!那么只有我们把下面这三个方面搞明白,才能真正的了解进程等待&#x…...
MySQL Binlog深度解析:进阶应用与实战技巧【进阶应用】
🎏:你只管努力,剩下的交给时间 🏠 :小破站 MySQL Binlog深度解析:进阶应用与实战技巧 前言第一:Binlog事件详解第二:关于GTIDGTID的结构:GTID的作用:GTID的事…...
openpnp - 给底部相机加防尘罩
文章目录 openpnp - 给底部相机加防尘罩概述笔记END openpnp - 给底部相机加防尘罩 概述 设备标定完, 看着底部相机, 有点担心掉进去东西, 万一从吸嘴掉下去的料(或者清理设备台面时, 不小心掉进去东西)将顶部相机搞短路怎么办. 就想加个防尘罩, 如果有东西掉进去, 可以掉到机…...
mac mysql连接中断重新启动办法
遇到如图所示问题,可以用下面的命令重启mysql服务 sudo /usr/local/mysql/support-files/mysql.server start...
【Vue3】解决Vue打包后上传服务器 资源路径加载错误
问题: 我这里在打包Vue之后将打包后的dist 上传至服务器站点根目录内子目录 名为 "adminstore" , 但是当我通过域名打开站点后发现 资源加载路径内并没有携带 子目录 "adminstore" 文件名称 错误:http://your website domain/js/app…...
u-popup组件在UniApp中的讲解
u-popup 组件是 UniApp 中一个多功能且强大的组件,UniApp 是一个使用 Vue.js 开发跨平台应用程序的框架。u-popup 组件提供了一种在应用程序的其他内容上方显示临时或浮动内容的方式。 使用方法: 要在 UniApp 项目中使用 u-popup 组件,你需要…...
drool 7 multiThread 测试
基本信息 通过option ,使用如下代码进行设置 //线程数量10MaxThreadsOption optionMaxThreadsOption.get(10);kieBaseConf.setOption(option);kieBaseConf.setOption(MultithreadEvaluationOption.YES);并发是以CompositeDefaultAgenda/Rule为颗粒度来的࿰…...
【网安AIGC专题】46篇前沿代码大模型论文、24篇论文阅读笔记汇总
网安AIGC专题 写在最前面一些碎碎念课程简介 0、课程导论1、应用 - 代码生成2、应用 - 漏洞检测3、应用 - 程序修复4、应用 - 生成测试5、应用 - 其他6、模型介绍7、模型增强8、数据集9、模型安全 写在最前面 本文为邹德清教授的《网络安全专题》课堂笔记系列的文章,…...
铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
IP如何挑?2025年海外专线IP如何购买?
你花了时间和预算买了IP,结果IP质量不佳,项目效率低下不说,还可能带来莫名的网络问题,是不是太闹心了?尤其是在面对海外专线IP时,到底怎么才能买到适合自己的呢?所以,挑IP绝对是个技…...
DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式
简介 在我的 QT/C 开发工作中,合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式:工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...
消防一体化安全管控平台:构建消防“一张图”和APP统一管理
在城市的某个角落,一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延,滚滚浓烟弥漫开来,周围群众的生命财产安全受到严重威胁。就在这千钧一发之际,消防救援队伍迅速行动,而豪越科技消防一体化安全管控平台构建的消防“…...
算法打卡第18天
从中序与后序遍历序列构造二叉树 (力扣106题) 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 示例 1: 输入:inorder [9,3,15,20,7…...
恶补电源:1.电桥
一、元器件的选择 搜索并选择电桥,再multisim中选择FWB,就有各种型号的电桥: 电桥是用来干嘛的呢? 它是一个由四个二极管搭成的“桥梁”形状的电路,用来把交流电(AC)变成直流电(DC)。…...
