【go语言】2.4.2 自定义包的创建和使用

打印 上一主题 下一主题

主题 915|帖子 915|积分 2745

在 Go 中,任何一个目录都可以被视为一个包。创建自定义包的基本步骤是:

  • 新建一个目录,用于存放包的源文件。
  • 在新建的目录中编写 Go 代码,代码的第一行应该是 package 包名。
  • 使用 import 语句在其他地方导入和使用这个包。
接下来,我们详细看一下如何创建和使用自定义包。
创建自定义包

假设我们有一个项目目录结构如下:
  1. myproject/
  2. |-- go.mod
  3. |-- main.go
  4. |-- greet/
  5.     |-- greet.go
复制代码
我们在 greet/greet.go 中创建一个包 greet:
  1. // greet.go
  2. package greet
  3. import "fmt"
  4. // Hello prints a greeting message.
  5. func Hello(name string) {
  6.     fmt.Printf("Hello, %s!\n", name)
  7. }
复制代码
在这个包中,我们定义了一个函数 Hello,它接收一个字符串参数 name,然后输出一个问候消息。
使用自定义包

在 main.go 中,我们可以导入并使用 greet 包:
  1. // main.go
  2. package main
  3. import (
  4.     "myproject/greet"
  5. )
  6. func main() {
  7.     greet.Hello("World")
  8. }
复制代码
在这个例子中,我们首先导入了 greet 包,然后在 main 函数中,我们调用了 greet.Hello 函数,并传入了一个字符串参数 "World"。运行这个程序,会输出 "Hello, World!"。
Go Modules

在上面的例子中,我们假设 myproject 是一个 Go Modules 项目,即它有一个 go.mod 文件。Go Modules 是 Go 1.11 引入的官方包管理工具,用于管理项目的依赖。
在 myproject 目录下,你可以运行 go mod init myproject 来初始化一个新的模块。这会创建一个 go.mod 文件,它描述了你的项目的模块路径(在这个例子中是 myproject)和它的依赖。
当你导入 greet 包时,你需要使用它的完整导入路径,即 myproject/greet。这是因为在 go.mod 文件中,你的模块路径被定义为 myproject。
总的来说,创建和使用自定义包是 Go 中代码组织和复用的基础。理解如何创建和使用自定义包,对于学习和掌握 Go 语言至关重要。
推荐阅读:
https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA
https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g


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

本帖子中包含更多资源

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

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

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

本版积分规则

河曲智叟

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

标签云

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