关注微信公众号【TechLeadCloud】,分享互联网架构、云服务技术的全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。
本文深入探讨了 Go 语言的内置类型系统,从布尔类型到复杂的字符串类型,旨在为开发者提供全面而详尽的指导,通过丰富的代码示例和应用场景,揭示了如何在实际项目中高效地运用这些类型。
在编程中,类型(type)可以被看作是值(value)的模板,而值则可以被看作是类型的实例。在这篇文章里,我们专注于介绍Go语言的内置(或称为预声明的)基本类型和它们字面量的表示形式。这里并不涉及组合类型。

一、布尔类型
定义
在 Go 语言中,布尔类型用关键字 bool 表示,它有两个预定义的常量值:true 和 false。基础用法
声明与初始化
布尔变量可以在声明时初始化,也可以稍后进行赋值。- // 声明并初始化
- var isReady bool = true
- // 声明后赋值
- var isEnabled bool
- isEnabled = false
复制代码 逻辑运算
布尔类型主要用于逻辑运算:AND (&&), OR (||), 和 NOT (!)。- // AND 操作
- result := true && false // 输出:false
- // OR 操作
- result = true || false // 输出:true
- // NOT 操作
- result = !true // 输出:false
复制代码 进阶用法
条件语句
布尔类型经常用于 if, else if 和 else 结构中。- if isReady {
- fmt.Println("System is ready.")
- } else {
- fmt.Println("System is not ready.")
- }
复制代码 循环结构
布尔表达式也可用于控制循环结构如 for。函数返回值
布尔类型也经常用作函数的返回类型,以指示函数是否成功执行或验证。- func isAuthenticated() bool {
- // 认证逻辑
- return true
- }
复制代码 常见错误与陷阱
- 零值:布尔类型的零值为 false,需注意未初始化的布尔变量默认为 false。
- 类型转换:Go 语言不允许布尔类型与其他类型(如整数)进行隐式转换。
二、整数类型
定义
在 Go 语言中,整数类型主要分为两大类:带符号(Signed)和无符号(Unsigned)的整数,同时还有一个特殊的整数类型 rune 和 byte。
- 带符号整数: int8, int16, int32, int64, int
- 无符号整数: uint8, uint16, uint32, uint64, uint
- 特殊整数: rune (等同于 int32), byte (等同于 uint8)
基础用法
声明与初始化
- // 声明并初始化带符号整数
- var a int8 = -128
- var b int32 = 2147483647
- // 声明并初始化无符号整数
- var c uint8 = 255
- var d uint32 = 4294967295
复制代码 运算符
常用的整数运算符包括:加(+)、减(-)、乘(*)、除(/)和模(%)。- // 整数运算
- x := 10
- y := 20
- result := x + y // 结果为 30
复制代码 位运算
整数还支持位运算:AND (&), OR (|), XOR (^), 以及位左移 ()。
[code]// 位运算var m uint8 = 1 |