跳到主要内容

Syntax Basics(基础语法路线)

本目录面向有 JavaScript 或 TypeScript 基础、第一次系统学习 Go 的读者。目标不是背语法,而是能够解释 Go 的值语义、零值、作用域、错误边界和资源生命周期,并写出可以编译、测试和维护的命令行程序。

推荐顺序

  1. Basic Syntax(基础语法):先运行一个最小程序,了解声明、函数、分支和循环的全貌。
  2. Package(包)Import / Export(导入与导出):理解目录、包名、模块路径和可见性。
  3. Identifier(标识符)Data Types(数据类型)Variables(变量)Constants(常量):建立静态类型、零值和作用域模型。
  4. Literal(字面量)Operator(运算符):掌握值的表示、转换、比较和计算边界。
  5. Conditional Control(条件控制)Loop Control(循环控制):组合出可读且可退出的控制流。
  6. Array(数组)Slice(切片)String(字符串)Map(映射):理解复制、共享、可比较性和 UTF-8 边界。
  7. Pointer(指针)Struct(结构体):理解地址、方法接收者、组合和字段标签。
  8. Input and Output(输入与输出)Comment(注释)Style(代码风格):把语言知识用于可测试、可维护的命令行程序。

学完后的下一步

基础语法只建立语言模型,函数的完整语义从 Function(函数) 开始,随后进入方法集、接口、泛型、错误包装、文件、并发、context 和测试等相邻专题。进入进阶目录前,应能独立解释切片扩容、映射缺失键、结构体复制和 defer 的基本行为。

验收练习

实现一个命令行成绩分类程序:使用切片保存成绩,拒绝不在 0..100 范围内的输入,使用函数返回 (string, error),按 range 遍历并输出分类结果。完成后运行 gofmtgo test(至少覆盖边界输入)和 go run 验证正常路径与失败路径。

参考资料

  • Go 语言规范:核对语法、类型、初始化和求值规则。
  • Effective Go:了解命名、错误处理和包组织的惯用写法。
  • Go 标准库文档:核对 fmtbufiostringsio 等 API 的当前行为。