1.创建一个模块
创建文件夹greetings并进入该文件夹
mkdir greetingss && cd greetings
初始化模块
go mod init com.gotest/greetings
初始化模块文件成功
模块文件内容如下
确保已安装VSCODE前提下,运行下面命令创建greetings.go文件
在greethings.go添加下面代码:
package greetings //包名
import "fmt" //导入标准库
// 自定义函数,支持一个输入字符串参数 ,并返回字符串
func Hello(str string) string {
// 格式化字符串
msg := fmt.Sprintf("你好,这是Go语言格式化字符串,你传入的参数内容是 %v. ", str)
return msg
}
然后保存
2.使用自定义的GO模块:
现在GO自定义模块已准备好了,下面在另的工程中使用上面的自定义模块:
退到greetings文件夹的上一级目录,然后创建hello文件夹并进入该文件夹
cd ..
mkdir hello && cd hello
创建新工程
在终端执行下面命令将创建go模块文件
go mod init com.gotest/hello
创建成功如下:
创建hello.go并在其中使用greetings.go模块中定义的函数
package main
import (
"fmt"
"com.gotest/greetings" //引用自定义模块
)
func main() {
//使用自定义模块中的函数
msg := greetings.Hello("外部模块调用")
fmt.Println(msg)
}
创建hello.go并输入上面代码
最重要一步,因为包没有发布到网络,需要替换为本地可使用的包,执行下面命令
go mod edit -replace com.gotest/greetings=../greetings
更新模块依赖,执行下面命令:
go mod tidy
成功更新如下:
编译并运行,执行下面命令:
go run .
成功调用并输出: