news 2026/6/27 1:05:48

HoRain云--Go语言数据类型全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HoRain云--Go语言数据类型全解析

🎬 HoRain云小助手:个人主页

🔥 个人专栏: 《Linux 系列教程》《c语言教程》

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

专栏介绍

专栏名称

专栏介绍

《C语言》

本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。

《网络协议》

本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制!

《docker容器精解篇》

全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。

《linux系列》

本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。

《python 系列》

本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。

《试题库》

本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等)

目录

⛳️ 推荐

专栏介绍

Go 语言数据类型

一、基本类型(基础数据类型)

1. 布尔类型 (bool)

2. 整数类型

3. 浮点类型

4. 复数类型

5. 字符与字符串

二、复合类型(派生类型)

三、Go 数据类型特点

四、类型转换

五、总结


Go 语言数据类型

Go 语言是一种静态强类型语言,所有变量在编译时必须明确其数据类型,且类型一旦确定便不可更改。Go 的数据类型体系清晰,可分为四大类:基本类型复合类型引用类型接口类型

一、基本类型(基础数据类型)

1. 布尔类型 (bool)

2. 整数类型

类型字节大小有符号范围无符号范围说明
int平台相关32/64位32/64位通用整型,优先用明确位数类型
int81字节-128 ~ 127-8位有符号整数
int162字节-32768 ~ 32767-16位有符号整数
int324字节-2147483648 ~ 2147483647-32位有符号整数(rune别名)
int648字节-9223372036854775808 ~ 9223372036854775807-64位有符号整数
uint平台相关-32/64位通用无符号整型
uint81字节-0 ~ 2558位无符号整数(byte别名)
uint162字节-0 ~ 6553516位无符号整数
uint324字节-0 ~ 429496729532位无符号整数
uint648字节-0 ~ 1844674407370955161564位无符号整数
uintptr平台相关-与平台指针位数一致用于存储指针地址

特殊说明:

3. 浮点类型

类型精度范围(约)说明
float326-7位小数±3.4×10³⁸32位浮点数
float6415-17位小数±1.8×10³⁰⁸64位浮点数(默认浮点类型)

注意:浮点数存在精度误差,计算时需谨慎。

4. 复数类型

类型实部/虚部类型示例
complex64float323.0 + 4.0i
complex128float641.5 + 2.5i

5. 字符与字符串

二、复合类型(派生类型)

类型说明示例
数组 (Array)固定长度、相同类型元素序列var a [3]int = [3]int{1,2,3}
切片 (Slice)动态长度、数组片段引用s := []int{1,2,3}
结构体 (Struct)自定义数据类型,组合不同类型数据type Person struct {Name string; Age int}
映射 (Map)键值对集合m := map[string]int{"a":1}
接口 (Interface)定义方法集合,实现多态interface{} (空接口)
指针 (Pointer)存储变量内存地址var p *int

三、Go 数据类型特点

  1. 静态类型:编译时确定变量类型,运行时不能改变
  2. 强类型:类型不会自动转换,必须显式转换
    • 示例:var b float64 = float64(a)
  3. 零值机制:未初始化变量有明确默认值
    • 整数:0
    • 布尔:false
    • 字符串:空字符串
    • 指针:nil
  4. 作用域清晰:通过代码块控制作用域,通过首字母大小写控制跨包访问

四、类型转换

Go 不支持隐式类型转换,必须显式转换:

var a int = 100 var b float64 = float64(a) // 显式转换 // 字符串与数值转换 var c string = strconv.Itoa(a) // int -> string var d int = strconv.Atoi("123") // string -> int

五、总结

Go 语言的数据类型体系清晰,适合高效、安全的编程。在实际开发中:

理解这些数据类型是编写规范、高效 Go 代码的基础。

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 22:51:40

fft npainting lama输出路径设置说明,文件不丢失

fft npainting lama输出路径设置说明,文件不丢失 1. 问题背景:为什么修复结果会“消失”? 你是否遇到过这样的情况:点击“ 开始修复”后,右上角状态栏明明显示“完成!已保存至: /root/cv_fft_inpainting_…

作者头像 李华
网站建设 2026/6/26 15:47:48

Qwen3-Embedding-0.6B使用心得:适合中小企业的AI工具

Qwen3-Embedding-0.6B使用心得:适合中小企业的AI工具 你是不是也遇到过这些情况? 客服团队每天要翻几十页产品文档才能回答一个客户问题; 销售同事花两小时整理竞品资料,却还是漏掉关键信息; HR筛选上百份简历&#x…

作者头像 李华
网站建设 2026/6/25 6:00:20

Z-Image-Turbo_UI界面避坑指南:新手常见问题全解答

Z-Image-Turbo_UI界面避坑指南:新手常见问题全解答 刚点开 Z-Image-Turbo_UI 界面时,你可能盯着那个灰白底色的网页发愣:按钮在哪?输入框怎么用?点了“Generate”却没反应?生成的图去哪了?为什…

作者头像 李华
网站建设 2026/6/21 16:45:08

触发器在流水线设计中的角色:高性能架构理解要点

以下是对您提供的技术博文《触发器在流水线设计中的角色:高性能架构理解要点》的 深度润色与优化版本 。本次改写严格遵循您的全部要求: ✅ 彻底去除AI痕迹 :语言自然、有“人味”,像一位深耕数字前端多年的架构师/IC验证专家…

作者头像 李华
网站建设 2026/6/23 6:17:39

Arduino实现LED灯PWM调光:新手入门必看

以下是对您提供的博文内容进行 深度润色与结构重构后的技术文章 。整体风格更贴近一位资深嵌入式工程师在技术社区中自然分享的经验总结—— 去AI感、强逻辑、重实操、有温度 ,同时严格遵循您提出的全部优化要求(无模板化标题、无“引言/总结”段落、…

作者头像 李华