☰
HoRain云--Go语言数据类型全解析
2026/10/23 7:35:14 网站建设 项目流程

🎬 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 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询