使用golang引入外部包的三种方式:go get, go module, vendor目录

 更新时间:2024年01月19日 09:57:45   作者:guoguolifang  
这篇文章主要介绍了使用golang引入外部包的三种方式:go get, go module, vendor目录,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

import  "github.com/astaxie/beego"  编译出错解决方案:

go get

确保你的GOPATH是工程目录,代码在src目录下,然后在命令提示符中输入:go get github.com/astaxie/beego,

然后在本地的src下就生成了要引入的外部包。

注意:

在使用GoLand工具时,配置settings->Go->GOPATH->Project GOPATH为当前工程目录

go module

Go 的 1.11版本以上才能使用Go Module,1.13版本以下Go Module默认关闭,

首先需要设置环境变量 set GO111MODULE=on,

在GOPATH的目录下,新建项目文件夹,进入新建路径执行go mod init,在文件夹下生成go.mod文件,

然后将需要引入外部包的go文件置于项目目录下,编译文件,就会把外部包下载到本地的GOPATH/pkg/mod目录下

注意:

在使用GoLand工具时,不要配置Project GOPATH为当前工程目录,最好不要配置Project GOPATH,而是配置Module GOPATH

vendor目录

首先安装govendor : go get -u -v github.com/kardianos/govendor

下载完,配置环境变量GOPATH/bin,键入命令govendor -version 检查是否安装成功

在GOPATH/src的目录下,新建项目文件夹,进入新建路径执行gogovendor init,就会在文件夹下生成vendor/vendor.json,

然后将需要引入外部包的go文件置于项目目录下,

使用命令:

govendor fetch github.com/golang/glog 将外部文件下载到本地vendor/下,并在vendor.json中添加该依赖包的信息,其中govendor fetch是从从远端库添加依赖包,而从 $GOPATH 中添加依赖包,使用govendor add

总结

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

相关文章

  • Go程序的init函数在什么时候执行

    Go程序的init函数在什么时候执行

    在Go语言中,init 函数是一个特殊的函数,它用于执行程序的初始化任务,本文主要介绍了Go程序的init函数在什么时候执行,感兴趣的可以了解一下
    2023-10-10
  • Go数组与切片轻松掌握

    Go数组与切片轻松掌握

    在Java的核心库中,集合框架可谓鼎鼎大名:Array、List、Set等等,随便拎一个出来都值得开发者好好学习如何使用甚至是背后的设计源码。虽然Go语言没有如此丰富的容器类型,但也有一些基本的容器供开发者使用,接下来让我们认识一下这些容器类型吧
    2022-11-11
  • Go语言的切片扩容

    Go语言的切片扩容

    本文主要介绍了Go语言的切片扩容,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-03-03
  • 线上golang grpc服务资源泄露问题排查

    线上golang grpc服务资源泄露问题排查

    这篇文章主要介绍了线上golang grpc服务资源泄露问题排查,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Go语言中database/sql的用法介绍

    Go语言中database/sql的用法介绍

    Go语言中的database/sql包定义了对数据库的一系列操作,database/sql/driver包定义了应被数据库驱动实现的接口,这些接口会被sql包使用,本文将详细给大家介绍Go的database/sql的使用方法,需要的朋友可以参考下
    2023-05-05
  • Go 语言json.Unmarshal 遇到的小问题(推荐)

    Go 语言json.Unmarshal 遇到的小问题(推荐)

    这篇文章主要介绍了 Go 语言json.Unmarshal 遇到的小问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • go按行读取文件的三种实现方式汇总

    go按行读取文件的三种实现方式汇总

    最近有遇到需要用go读取文件的情况,下面这篇文章主要给大家介绍了关于go按行读取文件的三种实现方式,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • golang中slice扩容的具体实现

    golang中slice扩容的具体实现

    Go 语言中的切片扩容机制是 Go 运行时的一个关键部分,它确保切片在动态增加元素时能够高效地管理内存,本文主要介绍了golang中slice扩容的具体实现,感兴趣的可以了解一下
    2025-05-05
  • Golang实现常见的限流算法的示例代码

    Golang实现常见的限流算法的示例代码

    限流是项目中经常需要使用到的一种工具,一般用于限制用户的请求的频率,也可以避免瞬间流量过大导致系统崩溃,或者稳定消息处理速率,本文主要介绍了使用Go实现常见的限流算法,希望对大家有所帮助
    2023-04-04
  • Golang迭代如何在Go中循环数据结构使用详解

    Golang迭代如何在Go中循环数据结构使用详解

    这篇文章主要为大家介绍了Golang迭代之如何在Go中循环数据结构使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10

最新评论