Go 程序结构

Go 程序从 package、import、声明到 main 函数的基本组织方式,以及文件级代码如何构成可执行程序。

#type / concept #status / growing #tech / dev #resource / go

[!info] related notes

Go 程序结构

一句话定义

Go 程序结构指的是一段 Go 代码如何通过 packageimport、顶层声明和入口函数组织成可以编译、运行和复用的程序。

核心机制 / 工作原理

一个最小 Go 程序通常包含这些部分:

  1. package 声明
  2. import 导入依赖
  3. 顶层声明
    • const
    • var
    • type
    • func
  4. 如果是可执行程序,入口通常是 package main 下的 main()

Go 的组织方式有几个明显特点:

  • 以包为单位组织代码,而不是以类为中心
  • 顶层可以直接声明类型和函数
  • 没有“必须写在类里”的要求
  • 同一个目录下的多个文件通常属于同一个包,共同参与编译

最小例子 / 最小场景

package main

import "fmt"

func main() {
    fmt.Println("hello, go")
}

这个程序表达了 Go 的基本骨架:

  • package main 表示这是可执行入口包
  • import "fmt" 导入标准库格式化输出能力
  • main() 是程序入口

结构上最值得先理解的点

  • package main 和其他业务包的区别
  • 包不是命名空间装饰,而是代码组织和可见性边界
  • 一个目录通常对应一个包
  • 同包内标识符共享包级作用域

边界与易混淆点

  • Go 不是“一个文件一个类”的组织方式
  • main 不是关键字,而是约定俗成的入口函数名
  • 同目录多文件会一起编译,不是按文件独立运行
  • 包名和目录名通常一致,但并不是靠“文件名”完成导入
创建于 2026/6/20 更新于 2026/6/20