【go语言】2.4.1 如何导入和使用包

打印 上一主题 下一主题

主题 917|帖子 917|积分 2751

在 Go 语言中,包(package)是代码的组织方式。每个 Go 程序都由包构成,程序从 main 包开始运行。
导入包

使用 import 关键字可以导入包。导入的包可以是 Go 标准库中的包,也可以是第三方的包,或者是你自己编写的包。以下是一个导入标准库中的 fmt 包和 math 包的例子:
  1. import (
  2.     "fmt"
  3.     "math"
  4. )
复制代码
在上面的代码中,我们导入了 fmt 和 math 两个包,然后就可以在代码中使用这两个包的公开(导出)的函数、类型和变量。
使用包

使用包中的函数、类型或变量,需要在其前面加上包名。例如,我们可以使用 fmt 包的 Println 函数来输出一行文本:
  1. fmt.Println("Hello, world!")
复制代码
我们也可以使用 math 包的 Pi 变量:
  1. fmt.Println("Value of Pi is:", math.Pi)
复制代码
导入自定义包

你也可以创建自己的包,并在其他地方导入使用。假设我们有一个包的目录结构如下:
  1. myproject/
  2. |-- go.mod
  3. |-- main.go
  4. |-- mathext/
  5.     |-- mathext.go
复制代码
在 mathext/mathext.go 中,我们有一个自定义的包:
  1. package mathext
  2. // Add adds two integers.
  3. func Add(a, b int) int {
  4.     return a + b
  5. }
复制代码
在 main.go 中,我们可以导入并使用这个自定义的包:
  1. package main
  2. import (
  3.     "fmt"
  4.     "myproject/mathext"
  5. )
  6. func main() {
  7.     sum := mathext.Add(1, 2)
  8.     fmt.Println("The sum is", sum)  // Outputs: The sum is 3
  9. }
复制代码
注意在导入自定义包时,路径是相对于 Go Modules 的模块路径的。
Go Modules

自 Go 1.11 版本开始,Go 语言引入了官方的包管理工具 Go Modules。用于管理依赖的版本和包的导入路径。
你可以使用 go mod init [module-path] 命令来初始化一个新的模块,创建一个 go.mod 文件。
例如,如果你在 myproject 目录下运行 go mod init github.com/yourusername/myproject,那么 github.com/yourusername/myproject 就是你项目的模块路径,你的自定义包 mathext 的导入路径就是 github.com/yourusername/myproject/mathext。
总的来说,Go 的包管理提供了一种简单且强大的方式来组织和复用代码。理解如何导入和使用包,是学习 Go 语言的一个重要步骤。
推荐阅读:
https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA
https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

乌市泽哥

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表