--- title: Go基础语法与程序结构 tags: - module - go - foundation - joplin type: module source_type: reconstructed created: 2026-04-22 updated: 2026-04-22 --- # Go基础语法与程序结构 > [!abstract] > 这一模块负责打底。重点不是背关键字,而是理解 Go 程序如何组织、执行,以及它为什么强调简洁和直接。 ## 模块结论 - Go 程序通常从 `package main` 和 `main()` 入口函数开始。 - 变量、常量、类型、流程控制构成语言最基础的表达能力。 - Go 在语法层面强调少而清晰,这也是后续并发和工程体验的基础。 ## 一、Go 程序的基本构成 - `package` 决定文件所属包。 - `import` 引入外部包。 - `func main()` 是可执行程序入口。 ### 复习重点 - 标识符大小写不仅是命名差异,也关系到是否导出。 - `{` 的放置位置在 Go 中有严格要求。 ## 二、变量、常量与数据类型 - 基本数据类型决定值的表示方式。 - `var` 和短变量声明 `:=` 是常见定义方式。 - 常量常用于不可变配置和语义表达。 ## 三、运算符与格式化输出 - 运算符支撑表达式计算与条件判断。 - `fmt.Printf` / `fmt.Sprintf` 是高频格式化工具。 ## 四、流程控制与作用域 - `if` - `for` - `switch` - 变量作用域 ### Go 的一个鲜明特征 - `for` 承担了更多循环角色。 - 作用域设计简洁,但要注意局部变量覆盖与生命周期。 ## 五、易错点 - 不要把 Go 的简洁语法当成“少了很多东西就更随便”,它反而更强调一致性。 - 大小写导出规则是包级访问边界的重要部分。 - 作用域和短变量声明一起使用时容易造成变量遮蔽。 ## 六、复习提问 - Go 最小可执行程序由哪些部分组成? - 为什么 Go 对格式和语法位置要求更严格? - `var` 与 `:=` 在使用场景上如何区分? ## 来源 - [[raw/Joplin/编程学习项目/Go学习笔记/Go基础语法/1.第一个Go程序.md]] - [[raw/Joplin/编程学习项目/Go学习笔记/Go基础语法/2.Go语言基础语法.md]] - [[raw/Joplin/编程学习项目/Go学习笔记/Go基础语法/3.Go语言数据类型.md]] - [[raw/Joplin/编程学习项目/Go学习笔记/Go基础语法/4.Go语言变量.md]] - [[raw/Joplin/编程学习项目/Go学习笔记/Go基础语法/5.Go语言常量.md]] - [[raw/Joplin/编程学习项目/Go学习笔记/Go基础语法/6.Go语言运算符.md]] - [[raw/Joplin/编程学习项目/Go学习笔记/Go基础语法/7.Go语言条件循环.md]] - [[raw/Joplin/编程学习项目/Go学习笔记/Go基础语法/8.Go语言循环语句.md]] - [[raw/Joplin/编程学习项目/Go学习笔记/Go基础语法/10.Go语言变量作用域.md]] ## 相关页面 - [[Go]] - [[Go复合数据与函数]]