如何使用Golang基本数据类型_掌握int、float、string和bool
发布时间 - 2026-01-23 00:00:00 点击率:次Go语言基本数据类型包括int、float64、string和bool,需注意类型显式转换、浮点精度比较及布尔值严格类型检查。
Go语言的基本数据类型是编程的起点,掌握 int、float64(常用浮点类型)、string 和 bool 能帮你写出清晰、安全、高效的代码。它们在声明、初始化、转换和使用上都有明确规则,不需要过度设计,但需注意细节。
整数类型:选对宽度,避免溢出
Go 中没有隐式类型提升,int 是平台相关类型(32 位或 64 位),推荐显式使用 int32 或 int64 以增强可移植性。小范围计数可用 int8、int16,但要注意溢出风险。
- 声明并初始化:
var age int = 25或更简洁地age := 25(编译器自动推导为int) - 跨类型运算需显式转换:
var x int32 = 10; var y int64 = 20; sum := x + int32(y)❌ 错误;应写成sum := int64(x) + y - 常量默认是无类型的,参与运算时按上下文决定类型:
const timeout = 30可赋给int、int64等变量
浮点类型:优先用 float64,慎用精度比较
Go 默认浮点类型是 float64,精度高、性能好;float32 节省内存但精度有限,适合图形或大量数组场景。
- 字面量自动识别:
price := 19.99推导为float64;rate := float32(0.05)显式指定 - 不要直接用
==比较浮点数:0.1+0.2 == 0.3返回false;改用误差范围判断:math.Abs(a-b) -
格式化输出控制精度:
fmt.Printf("%.2f", 3.14159)输出3.14
字符串:不可变字节序列,UTF-8 原生支持
string 在 Go 中是只读的字节切片(底层是 struct{ ptr *byte, len int }),天然支持 UTF-8,中文、emoji 都能直接处理。
- 双引号支持转义:
"Hello\nWorld";反引号包裹原始字符串:`C:\Users\name`不解析转义 - 获取字符(rune)而非字节:
for _, r := range "你好" { fmt.Printf("%c ", r) }→ 输出“你 好”;直接索引s[0]拿到的是 UTF-8 第一个字节,不是第一个字符 - 拼接建议用
strings.Build(高效)或
er
+(简单短串);避免循环中反复+=创建大量临时字符串
布尔类型:只有 true 和 false,不与数值互转
bool 是独立类型,不能和整数混用(如 C 中的 0/1),强制类型安全。
- 声明:
done := false或var active bool = true - 逻辑运算符:
&&(短路与)、||(短路或)、!(非);&和|是位运算,不用于布尔判断 - 条件语句必须是布尔表达式:
if x > 0 { ... }✅;if x { ... }❌ 编译失败(x 是 int)
不复杂但容易忽略。写代码时多看一眼类型,少些运行时 panic,也少些调试时间。
# go
# golang
# go语言
# 字节
# 格式化输出
# 数据类型
# String
# Float
# 常量
# 运算符
# 逻辑运算符
# if
# for
# math
# printf
# const
# 字符串
# 无类型
# bool
# int
# 循环
# 整数类型
# 布尔类型
# Struct
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
php json中文编码为null的解决办法
宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法
Laravel怎么清理缓存_Laravel optimize clear命令详解
Laravel怎么在Controller之外的地方验证数据
什么是javascript作用域_全局和局部作用域有什么区别?
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
怎样使用JSON进行数据交换_它有什么限制
如何制作一个表白网站视频,关于勇敢表白的小标题?
百度浏览器网页无法复制文字怎么办 百度浏览器复制修复
java获取注册ip实例
昵图网官网入口 昵图网素材平台官方入口
Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析
Linux系统命令中screen命令详解
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
Win11怎么开启自动HDR画质_Windows11显示设置HDR选项
Laravel如何使用withoutEvents方法临时禁用模型事件
laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法
JS经典正则表达式笔试题汇总
Laravel用户密码怎么加密_Laravel Hash门面使用教程
北京企业网站设计制作公司,北京铁路集团官方网站?
Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法
个人网站制作流程图片大全,个人网站如何注销?
魔方云NAT建站如何实现端口转发?
网站建设整体流程解析,建站其实很容易!
EditPlus中的正则表达式 实战(1)
iOS中将个别页面强制横屏其他页面竖屏
Python并发异常传播_错误处理解析【教程】
如何选择PHP开源工具快速搭建网站?
Laravel如何记录自定义日志?(Log频道配置)
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
利用python获取某年中每个月的第一天和最后一天
Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程
Android自定义listview布局实现上拉加载下拉刷新功能
移动端脚本框架Hammer.js
利用 Google AI 进行 YouTube 视频 SEO 描述优化
🚀拖拽式CMS建站能否实现高效与个性化并存?
Android使用GridView实现日历的简单功能
Laravel中间件如何使用_Laravel自定义中间件实现权限控制
教你用AI将一段旋律扩展成一首完整的曲子
佛山企业网站制作公司有哪些,沟通100网上服务官网?
如何快速生成橙子建站落地页链接?
php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】
ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集
HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】
原生JS实现图片轮播切换效果
香港服务器网站卡顿?如何解决网络延迟与负载问题?
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】
浅析上传头像示例及其注意事项
html5audio标签播放结束怎么触发事件_onended回调方法【教程】


