3 基本数据类型

458 字
2 分钟
3 基本数据类型

3.基本数据类型#

uint#

uint8
8个二进制位的范围
0000 0000 ~ 1111 1111 = 0 ~ 1 0000 0000 - 1 = 0 ~ 255
以此类推
uint16
0 ~ 2^16 - 1

int#

int8 首位符号位
0 000 0000: +0(正数最小值)
0 111 1111: +2^7 - 1 = +127(正数最大值)
1 000 0001: -1(负数最大值)
1 111 1111: -2^7 = -128(负数最小值)

浮点型#

float32和float64

若没有显示声明,则默认float64

✨字符和字符串#

var a byte = 'a' // ascii码
fmt.Printf("%c %d \n", a, a) // a 97
var a1 uint8 = 97
fmt.Printf("%c %d \n", a1, a1) // a 97
==================
这里将 97 根据 %c 转成了char类型,对应ascii码的 `a`

rune与 byte 的对比

类型底层类型范围用途
byteuint80-255ASCII 字符、二进制数据
runeint32-2³¹ 到 2³¹-1任何 Unicode 字符
var z rune = '中'
fmt.Printf("%c %d \n", z, z) // 中 20013
类型底层类型使用场景优势
byteuint8ASCII 字符、二进制数据表示”这是一个字节”
runeint32Unicode 字符表示”这是一个字符”
uint8-数值计算表示”这是一个 0-255 的数字”
int32-数值计算表示”这是一个整数”

最佳实践:

  • 处理 字符 时用 byte(ASCII)或 rune(Unicode)
  • 处理 数字 时用 uint8、int32 等
  • 这样代码读起来更像是在 描述意图,而不仅仅是 声明类型

所以,byte 和 rune 不是必须的,但它们让代码 更易读、更易维护! 📝

fmt.Println("SHAI\tGOOO\tWIN") // SHAI GOOO WIN
fmt.Println("YUNBIU\tGOOO\tONE") // YUNBIU GOOO ONE
fmt.Println("'SHAI'WIN") // 'SHAI'WIN
fmt.Println("\"SHAI\"WIN") // "SHAI"WIN (转义 \": ")
fmt.Println("\\SHAI\\WIN") // \SHAI\WIN (转义 \\: \)
fmt.Println(`abc\\def\n\t\"`) // abc\\def\n\t\"

布尔类型#

  • 默认false
  • 不允许强转为bool
  • 不参与数值运算

零值问题#

只声明,但不赋值,那么这个变量的值就是对应的零值

var q1 int
var q2 float32
var q3 float64
var q4 string
var q5 bool
fmt.Printf("%#v \n", q1)
fmt.Printf("%#v \n", q2)
fmt.Printf("%#v \n", q3)
fmt.Printf("%#v \n", q4)
fmt.Printf("%#v \n", q5)
------------------
0
0
0
""
false

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

3 基本数据类型
https://shaio.top/posts/丫丫学语/golang/3-基本数据类型/
作者
沙海
发布于
2026-08-10
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
沙海
Hello, I'm Shai.
公告
欢迎来到我的博客!这是一则示例公告。
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
84
分类
15
标签
48
总字数
67,035
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
GitHub Actions
博客版本
Firefly v6.12.2
文章许可
CC BY-NC-SA 4.0

文章目录