跳到主要内容

Package

Package 是什么? 包名与导入路径有何区别?​

  • package: Go 代码的基本组织单位;
  • 目录与包: 一个目录通常对应一个 package;
  • 包名: 源文件 package name 声明的名字;
  • 导入路径: import 使用的字符串路径, 不等于包名本身;

main 包与普通包如何决定程序入口?​

// main 包可编译为可执行程序
package main

// main 函数为程序入口;main 返回后进程结束
func main() {
println("start")
}
package作用入口要求
main构建可执行程序需要 main 函数
普通 package提供可复用代码没有程序入口

普通库包如何提供可复用的函数?​

  • 普通包: 提供可复用的类型与函数,供其他包导入;导出判断统一见可见性,这里用 Add 示范调用入口;
// calc 为普通库包,不能单独作为可执行程序入口
package calc

// Add 首字母大写,可被其他 package 访问
func Add(a int, b int) int {
return a + b
}