上一章节中谈到了
Go
语言的简单入门,同时也使用了下外部别人的模块进行调用,这里我们就来实现一个自己的Go
语言模块。
本章节内将会创建两个模块,第一个是被创建为一个库,可被外部调用依赖,第二个模块则使用第一个创建好的模块,进行调用。
本教程的序列包括七个简短的主题,每个主题演示了该语言的不同部分
- 创建一个模块 - 写出一个包含简单调用其他模块的模块。
- 从其他模块调用代码 - 导入并使用你的新模块。
- 返回并处理错误 - 添加简单的错误处理。
- 返回一个随机的问候语句 - 处理切片数据(Go的动态大小数组)。
- 为多人返回问候语句 - 在map中存储键/值对。
- 添加测试 - 使用Go内置的单元测试功能来测试代码。
- 编译并安装应用程序 - 在本地编译并安装代码。
更多的引导步骤通过传送门。
编码编写
在进行此次编程之前,确保之前的准备工作做好了(下载安装环境、环境变量设置等等。未设置的小伙伴可以看看上篇文章中的讲解)
-
创建
Go
模块目录mkdir greetings
-
执行模块初始化命令
[root@montos-prod greetings]# go mod init montos.com/greetings go: creating new go.mod: module montos.com/greetings
这里使用该命令可以帮助追踪代码的依赖项。当前仅仅追自动你当前代码支持的,一旦拟引入新的依赖项目,则能很好的能列出你代码所依赖的版本。
-
创建出对应的代码文件 -
greetings.go
package greetings import "fmt" // Hello returns a greeting for the named person. func Hello(name string) string { // Return a greeting that embeds the name in a message. message := fmt.Sprintf("Hi, %v. Welcome!", name) return message }
该代码定义一个函数,该函数将返回一句问候语。
- 首先需要声明该包名称关联函数使用。
- 完成方法函数组成 - 包括以下部分(方法名、方法参数、返回值类型)
- 声明返回值变量接受参数。
var message string message = fmt.Sprintf("Hi, %v. Welcome!", name)
等价于
message := fmt.Sprintf("Hi, %v. Welcome!", name)
总结
以上我们完成了当前简单的一个函数定义,为之后封装一个单独的模块做准备,下一章节会介绍如何使用本章节所封装的模块。