Golang

关注公众号 jb51net

关闭
首页 > 脚本专栏 > Golang > go mod导入本地自定义包

使用go mod导入本地自定义包问题

作者:CoderLonely

这篇文章主要介绍了使用go mod导入本地自定义包问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

go mod导入本地自定义包

1.要使用gomod首先要开启gomod,而不使用旧方法导入包

go env -w GO111MODULE=on 

2.创建项目

mkdir myproject
go mod init myproject

假设项目目录为:

其中main包和utils包同级

3.在main包中就可以使用utils包了

package main

import (
"fmt"
//导入自定义包时直接加上项目名,因为项目在init时已经添加到go环境中了
"myproject/utils"
)

func main(){
fmt.Println("hello world")
//调用utils中的Test函数
utils.Test()
}

golang如何引入自定义包

比如安装go jdk在D盘D:\golang\bin

建议将项目放在D:\golang\src目录下,这时候直接可以读取GOPATH为D:\golang\src,此时引入自定义包路径即为自己项目名称+具体包路径

1.第一种比较笨的方式

比如可以在D:\golang\src下建一个项目my-project

my-project目录层级如下:

main.go调用自定义包utils包的方法GetSum

package main

import (
	"fmt"
	"my-project/utils"
)

func main() {
	var result int = utils.GetSum(100, 200)
	fmt.Println(result)
}

utils.go包下可以自定义包名和函数GetSum

package utils

func GetSum(a int, b int) int {
	return a + b
}

2.第二种使用go.mod的方式,项目比较推荐

早在终端输入命令:go mod init 后面一般跟git项目路径即可

执行完go mod init github.com/golang/go-web命令生成 go.mod文件大致如下,后面这只是虚拟个人git项目地址,根据个人项目情况而定:

module github.com/golang/go-web
go 1.20

导入包测试

新建一个testModule/test.go

package testModule

func CountSum(a int, b int) int {
	return a + b
}

在main.go入口文件引入包测试

package main

import (
	"fmt"
	"github.com/golang/go-web/testModule"
)
func main () {
		res := testModule.CountSum(23, 88)
		fmt.Println("输入计算结果:", res)
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文