package main
import "fmt"
func main() {
// 1. 基本if语句
age := 18
if age >= 18 {
fmt.Println("已成年")
}
// 2. if-else语句
score := 85
if score >= 60 {
fmt.Println("及格")
} else {
fmt.Println("不及格")
}
// 3. if-else if-else语句
grade := 75
if grade >= 90 {
fmt.Println("优秀")
} else if grade >= 70 {
fmt.Println("良好")
} else if grade >= 60 {
fmt.Println("及格")
} else {
fmt.Println("不及格")
}
// 4. if特殊写法:初始化语句
if num := 20; num > 0 {
fmt.Printf("%d是正数\n", num)
}
}
package main
import "fmt"
func main() {
// 1. 基本switch
day := 3
switch day {
case 1:
fmt.Println("星期一")
case 2:
fmt.Println("星期二")
case 3:
fmt.Println("星期三")
default:
fmt.Println("其他日期")
}
// 2. 多条件switch
month := 7
switch month {
case 3, 4, 5:
fmt.Println("春季")
case 6, 7, 8:
fmt.Println("夏季")
case 9, 10, 11:
fmt.Println("秋季")
case 12, 1, 2:
fmt.Println("冬季")
}
// 3. 条件表达式switch
score := 85
switch {
case score >= 90:
fmt.Println("A级")
case score >= 80:
fmt.Println("B级")
case score >= 70:
fmt.Println("C级")
default:
fmt.Println("D级")
}
// 4. fallthrough示例
num := 1
switch num {
case 1:
fmt.Println("一")
fallthrough
case 2:
fmt.Println("二")
case 3:
fmt.Println("三")
}
}
package main
import "fmt"
func checkAge(age int) string {
switch {
case age < 0:
return "年龄不合法"
case age < 18:
return "未成年"
case age < 35:
return "青年"
case age < 50:
return "中年"
default:
return "老年"
}
}
func main() {
// 成绩判断示例
scores := []int{95, 85, 75, 55}
for _, score := range scores {
if score >= 90 {
fmt.Printf("%d分 - 优秀\n", score)
} else if score >= 80 {
fmt.Printf("%d分 - 良好\n", score)
} else if score >= 60 {
fmt.Printf("%d分 - 及格\n", score)
} else {
fmt.Printf("%d分 - 不及格\n", score)
}
}
// 年龄段判断示例
ages := []int{5, 25, 45, 65}
for _, age := range ages {
result := checkAge(age)
fmt.Printf("年龄%d: %s\n", age, result)
}
}
if-else: 1. 条件表达式不需要括号 2. 大括号必须有,且必须在同一行 3. 支持初始化语句 4. 条件必须是布尔值 switch: 1. 不需要break语句 2. 支持多条件匹配 3. 支持无条件表达式的形式 4. fallthrough关键字用于继续执行下一个case 5. case后可以是表达式 6. default可选,位置灵活
章节 | 主题 | 内容 |
---|---|---|
第一部分:Go 语言入门 | Go 语言简介 | Go 语言的起源与发展 Go 语言的特点和应用场景 |
开发环境搭建 | 安装 Go 语言开发包(Golang) 配置开发环境变量 选择 IDE / 编辑器(如 VS Code、GoLand) | |
第一个 Go 程序 | 编写 "Hello, World!" 理解程序结构和执行流程 使用 go run 和 go build | |
第二部分:基础语法 | 变量和数据类型 | 变量声明与初始化 基本数据类型(整数、浮点数、布尔值、字符串) 类型转换与推断 |
常量 | 常量定义与使用 iota 枚举原理与应用 | |
运算符 | 算术、逻辑、比较运算符 运算符优先级与结合性 | |
控制结构 | 条件语句(if-else、switch) 循环语句(for、for-range) 跳转语句(break、continue、goto) | |
第三部分:函数 | 函数定义与调用 | 函数语法与参数传递 多返回值 作用域(全局变量 vs 局部变量) |
高级函数特性 | 闭包概念与使用 递归函数原理、实现与注意事项 | |
第四部分:数组、切片和映射 | 数组 | 数组定义、初始化与遍历 多维数组 |
切片 | 切片概念与创建方式 动态扩容机制 常用操作(追加、删除、复制) | |
映射(Map) | 映射定义、初始化与基本操作(增删查) 遍历与排序 | |
第五部分:结构体和方法 | 结构体 | 结构体定义与使用 嵌套与组合 |
方法与接口 | 方法定义与接收器(值 vs 指针) 接口定义、实现与多态性 | |
第六部分:错误处理和异常 | 错误处理 | error 类型机制 自定义错误与处理函数 |
异常处理 | panic 与 recover 使用 异常处理最佳实践 | |
第七部分:并发编程 | Go 协程(Goroutine) | 协程概念与创建方式 并发执行与调度 |
通道(Channel) | 通道定义与使用 同步与通信机制 缓冲通道与无缓冲通道 | |
并发模式与同步原语 | 生产者 - 消费者模式 扇入 / 扇出模式 sync 包(互斥锁、WaitGroup) | |
第八部分:文件操作和输入输出 | 文件操作 | 文件打开、读写、关闭 创建、删除与重命名 |
输入输出 | 标准输入输出(fmt 包) 格式化处理与字符串操作 | |
第九部分:测试和调试 | 单元测试 | testing 包使用 测试覆盖率概念与计算 |
调试技巧 | 使用 gdb 或 IDE 调试功能 日志记录与调试信息输出 | |
第十部分:项目实践 | 小型项目实践 | 实现命令行工具 开发简单 Web 服务器 |
项目结构与管理 | 目录结构组织 go mod 依赖管理 |