Golang import 关键字
最后修改于 2025 年 5 月 7 日
本教程将讲解如何在 Go 中使用 import
关键字。我们将通过导入包的实际示例来涵盖包管理基础知识。
import
语句使其他包的已导出标识符在当前文件中可用。这对于代码组织和重用至关重要。
在 Go 中,import
可以引用标准库包、第三方模块和本地包。正确的导入对于构建模块化和可维护的应用程序至关重要。
基本 import 语句
最简单的形式导入单个包。此示例演示了导入 fmt 包以进行格式化 I/O 操作。
package main import "fmt" func main() { fmt.Println("Hello, World!") }
import "fmt"
语句可以访问 fmt 包中的所有已导出函数。然后我们使用 fmt.Println 将文本输出到控制台。
使用单独语句的多个 import
可以使用单独的 import 语句导入多个包。这种方法对于许多导入来说清晰但冗长。
package main import "fmt" import "math" import "time" func main() { fmt.Println("Current time:", time.Now()) fmt.Println("Square root of 16:", math.Sqrt(16)) }
每个 import 语句引入一个不同的包。代码使用所有三个导入包中的函数来演示其可用性。
分组 import 语句
Go 支持分组导入以提高可读性。导入多个包时,这是首选样式。
package main import ( "fmt" "math" "time" ) func main() { fmt.Println("Pi:", math.Pi) fmt.Println("Weekday:", time.Now().Weekday()) }
分组语法使用括号将所有导入路径括起来。这种格式比单独的 import 语句更简洁,也更容易维护。
带别名的 Import
包可以导入自定义别名,以避免命名冲突或提供更短的引用。
package main import ( "fmt" m "math" ) func main() { fmt.Println("Cosine of 0:", m.Cos(0)) fmt.Println("Square root of 9:", m.Sqrt(9)) }
m "math"
语法为 math 包创建了一个别名。然后我们使用 m 而不是 math 来访问其函数,演示了别名用法。
点导入
点导入允许在没有限定符的情况下访问包成员。这通常不被推荐,除非在测试等特定情况下。
package main import ( "fmt" . "math" ) func main() { fmt.Println("Pi:", Pi) fmt.Println("Square root of 25:", Sqrt(25)) }
. "math"
导入使所有 math 包标识符可直接访问。请注意,这可能导致命名冲突,应谨慎使用。
空导入
空导入会执行包初始化,而不公开其导出内容。这用于数据库驱动程序等副作用。
package main import ( "fmt" _ "image/png" ) func main() { fmt.Println("PNG decoder registered") }
_ "image/png"
导入注册 PNG 解码器,而不公开其函数。main 函数演示了程序在导入的副作用发生时仍在运行。
导入本地包
本地包使用模块路径导入。此示例显示了从同一模块导入包。
package main import ( "fmt" "example.com/mymodule/mypackage" ) func main() { fmt.Println("Using local package:") mypackage.MyFunction() }
导入路径 "example.com/mymodule/mypackage"
引用了一个本地包。代码假定 go.mod 文件已正确设置模块。
来源
本教程通过各种场景下的包管理实际示例,涵盖了 Go 中的 import
关键字。