第2课_Go语言中的变量与常量
热度🔥:90 免费课程
授课语音
了解Go语言变量声明、赋值以及常量的使用
Go语言是一种静态类型语言,支持多种变量声明和赋值方式,同时还支持通过常量定义不可变的数据。掌握变量和常量的使用是学习Go语言的基础。
1. 变量的声明
Go语言提供了多种声明变量的方式,包括使用关键字 var
和短变量声明 :=
。
1.1 使用 var
声明变量
var name string // 声明一个字符串类型变量
var age int // 声明一个整数类型变量
var salary float64 = 45000.50 // 声明变量并初始化
代码解读:
- 使用
var
声明变量时,可以指定变量的类型。 - 如果同时进行初始化,编译器会自动推断变量类型。
1.2 批量声明变量
var (
name string // 字符串变量
age int // 整型变量
salary float64 // 浮点型变量
)
代码解读:
- 使用括号将多个
var
声明集中起来,代码更加简洁。 - 批量声明适合变量较多的场景。
1.3 使用 :=
声明变量
name := "John" // 自动推断类型为 string
age := 30 // 自动推断类型为 int
salary := 45000.50 // 自动推断类型为 float64
代码解读:
:=
是简短声明方式,编译器根据赋值自动推断变量类型。- 只能在函数内部使用,不适用于全局变量。
2. 变量的赋值
2.1 直接赋值
var name string
name = "Alice" // 给变量赋值
代码解读:
- 如果变量未初始化,则可以通过赋值语句为其赋值。
- 未初始化的变量具有其类型的默认值(如整型为
0
,字符串为空字符串)。
2.2 多重赋值
var a, b int
a, b = 1, 2 // 同时为多个变量赋值
代码解读:
- 支持多重赋值,可以同时为多个变量设置值。
- 这种方式常用于交换变量的值,如
a, b = b, a
。
3. 常量的使用
常量在程序运行时是不可改变的,使用 const
关键字声明。
3.1 声明常量
const pi = 3.14159 // 声明一个常量
const name string = "Go" // 显式指定常量类型
代码解读:
- 常量在声明时必须初始化。
- 常量的值在编译时确定,不能在运行时修改。
3.2 枚举类型的常量
const (
Red = 1
Green = 2
Blue = 3
)
代码解读:
- 使用
const
关键字可以定义一组相关常量。 - 常用于定义枚举类型的值。
3.3 使用 iota
生成连续常量
const (
Sunday = iota // iota 从 0 开始
Monday // 自动递增为 1
Tuesday // 自动递增为 2
)
代码解读:
iota
是一个常量生成器,用于生成自增值。- 常用于定义枚举类型或位标志。
4. 变量与常量的最佳实践
4.1 命名规范
- 变量和常量名应当使用驼峰命名法,如
userName
、maxValue
。 - 常量名推荐使用全大写,单词间用下划线分隔,如
MAX_LIMIT
。
4.2 避免全局变量滥用
- 全局变量会增加代码耦合性,建议尽量减少使用。
- 如果需要全局变量,确保其是只读的,可以用常量替代。
4.3 善用 iota
提高代码可读性
- 使用
iota
定义枚举类型时,应添加注释,明确每个值的意义。
5. 示例:变量与常量的结合应用
package main
import "fmt"
const (
MaxUsers = 100 // 定义最大用户数
Pi = 3.14 // 定义圆周率
)
func main() {
var name string = "Alice" // 使用 var 声明
age := 25 // 使用 := 声明
fmt.Println("Name:", name)
fmt.Println("Age:", age)
fmt.Println("Max Users:", MaxUsers)
fmt.Println("Pi:", Pi)
}
代码解读:
- 在
main
函数中结合了变量和常量。 - 常量用于存储不可变的全局配置(如
MaxUsers
和Pi
),变量用于存储动态数据。
6. 总结
- 变量的声明有多种方式:
var
适合需要明确类型的场景,:=
简化了变量的声明。 - 常量声明使用
const
,适合存储运行时不可改变的数据。 - 善用变量和常量有助于提高代码的可读性和可维护性,同时减少错误的发生。