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

 更新时间:2024年07月26日 14:35:13   作者: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/main.go
  • utils/utils.go

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)
}

总结

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

相关文章

  • golang goquery selector选择器使用示例大全

    golang goquery selector选择器使用示例大全

    这篇文章主要为大家介绍了golang goquery selector选择器使用示例大全,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • golang time包下定时器的实现方法

    golang time包下定时器的实现方法

    定时器的实现大家应该都遇到过,最近在学习golang,所以下面这篇文章主要给大家介绍了关于golang time包下定时器的实现方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-12-12
  • 浅析Golang中的net/http路由注册与请求处理

    浅析Golang中的net/http路由注册与请求处理

    这篇文章主要为大家详细介绍了Golang中的net/http路由注册与请求处理的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-12-12
  • Go位集合相关操作bitset库安装使用

    Go位集合相关操作bitset库安装使用

    这篇文章主要为大家介绍了Go位集合相关操作bitset库安装使用,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • golang使用tail实现追踪文件变更

    golang使用tail实现追踪文件变更

    这篇文章主要为大家介绍了golang如何借助 github.com/hpcloud/tail ,实现实时追踪文件变更,达到类似shell命令tail -f的效果,感兴趣的小伙伴可以了解一下
    2023-08-08
  • Golang中设置全局变量并在其他文件中使用

    Golang中设置全局变量并在其他文件中使用

    全局变量是被整个程序都可见的变量,通常用于存储程序中需要共享的数据,本文就来介绍一下Golang中设置全局变量并在其他文件中使用的方法,感兴趣的可以了解一下
    2024-01-01
  • Go开发go-optioner工具实现轻松生成函数选项模式代码

    Go开发go-optioner工具实现轻松生成函数选项模式代码

    go-optioner 是一个在 Go 代码中生成函数选项模式代码的工具,可以根据给定的结构定义自动生成相应的选项代码,下面就来聊聊go-optioner是如何使用的吧
    2023-07-07
  • Goland远程连接Linux进行项目开发的实现

    Goland远程连接Linux进行项目开发的实现

    有的时候我们的开发代码要在linux服务器上运行,本文主要介绍了Goland远程连接Linux进行项目开发的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06
  • 使用Go语言实现发送HTTP请求并给GET添加参数

    使用Go语言实现发送HTTP请求并给GET添加参数

    在开发Web应用程序时,我们经常需要向服务器发送HTTP请求,本文将介绍一下使用Go语言发送HTTP请求,并给GET请求添加参数的方法,感兴趣的小伙伴可以了解一下
    2023-07-07
  • 解决Go中使用seed得到相同随机数的问题

    解决Go中使用seed得到相同随机数的问题

    这篇文章主要介绍了Go中使用seed得到相同随机数的问题,需要的朋友可以参考下
    2019-10-10

最新评论