使用GOLang开发工具导入本地包

Go Modules 中有三个模式:

  • 默认模式(未设置该环境变量或 GO111MODULE=auto):Go 命令行工具在同时满足以下两个条件时使用 Go Modules:
    • 当前目录不在 GOPATH/src/ 下;
    • 在当前目录或上层目录中存在 go.mod 文件。
  • GOPATH 模式(GO111MODULE=off):Go 命令行工具从不使用 Go Modules。相反,它查找 vendor 目录和 GOPATH 以查找依赖项。
  • Go Modules 模式(GO111MODULE=on):Go 命令行工具只使用 Go Modules,从不咨询 GOPATH。GOPATH 不再作为导入目录,但它仍然存储下载的依赖项(GOPATH/pkg/mod/)和已安装的命令(GOPATH/bin/),只移除了 GOPATH/src/。

Go 1.13 默认使用 Go Modules 模式,所以以上内容在 Go 1.13 发布并在生产环境中使用后都可以忽略。

 

Go 环境变量配置如下:

 

 

 

首先GoLang编辑器要设置开启Go Moduleles 如下图:

 

 

 

1.为GO Module创建不同级别目录如:

LLj

LLj/hello

LLj/pack

截图如下:

 

 

2.为将要编写的代码启用依赖项跟踪

 

 

 

 

 

 3.在hello 目录中,创建一个文件,编写代码并将其命名为start.go

package main

import "fmt"
import "pack"

func main() {
pack.Test()
fmt.Println("入口!!!")
}
此代码中:
  • 声明一个main包。在 Go 中,作为应用程序执行的代码必须在main包中。
  • 导入两个包:packfmt这使您的代码可以访问这些包中的函数。导入 pack包,可以访问该pack包下Test 函数。导入fmt, 具有处理输入和输出文本的功能(例如将文本打印到控制台)。
  • 通过调用pack包的 Test函数打印到控制台

 

 

4在pack 目录中,创建一个文件,编写代码并将其命名为test.go

为将要编写的代码启用依赖项跟踪

 

 

 

package pack

import "fmt"

func Test() {
fmt.Println("Test!!!")

}

 

 

 5.编辑hello模块以使用本地 pack模块

使用go mod edit命令编辑hello模块,输入本地模块路径

   从 hello 目录中的命令提示符运行以下命令:

    go mod edit -replac pack=../pack       //添加替换本地模块路径

 在hello目录的命令提示符下,运行go mod tidy命令来同步hello模块的依赖项

 

 6.在hello目录的命令提示符下,运行代码以确认它工作正常

 

posted @ 2021-12-26 18:06  梁博客  阅读(1655)  评论(0编辑  收藏  举报