基于go mod模式创建项目最佳实践

 希望能带给你成功的喜悦!

除go get、vendor这两种方式外,Go版本在1.11之后推出了go module模式来管理依赖,使用go mod时下载的依赖文件在$GOPATH/pkg/mod/下。本文以两种办法介绍如何创建go mod项目。

目录

goland开启玩法

本地手动创建项目且不在$GOPATH目录下


 

goland开启玩法

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9sYW42MTkzLmJsb2cuY3Nkbi5uZXQ=,size_16,color_FFFFFF,t_70

点击create,写一个main.go里面加一个新依赖,可以看到未拉取的依赖包为红色:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9sYW42MTkzLmJsb2cuY3Nkbi5uZXQ=,size_16,color_FFFFFF,t_70

这时候有两个办法,第一个是鼠标移动至红色依赖部分,会提示

20200113180428301.png

点击第一个Sync这个会自动下载好依赖,并在项目目录下生成go.sum文件:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9sYW42MTkzLmJsb2cuY3Nkbi5uZXQ=,size_16,color_FFFFFF,t_70

第二个方法是在终端执行go test,和第一种方法效果相同:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9sYW42MTkzLmJsb2cuY3Nkbi5uZXQ=,size_16,color_FFFFFF,t_70

go.mod文件中会声明你下载的依赖,下载的依赖文件在$GOPATH/pkg/mod/下。

本地手动创建项目且不在$GOPATH目录下

比如在本地任意目录下创建一个文件夹作为你的项目目录,添加上面的main.go文件。

终端执行

go mod init test-gomod

执行后出现go.mod文件

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9sYW42MTkzLmJsb2cuY3Nkbi5uZXQ=,size_16,color_FFFFFF,t_70

指令需要加项目名test-gomod,直接go mod init会报go: cannot determine module path for source directory xxx\test-gomod (outside GOPATH, module path must be specified)

就是意思现在操作的目录不是go语言的GOPATH目录】

ok,run一下这个main.go编译运行看看

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9sYW42MTkzLmJsb2cuY3Nkbi5uZXQ=,size_16,color_FFFFFF,t_70

出现了go.sum文件,并且启动server成功了(我这因为测试手动这种方式时前面已经在mod目录下有了gin依赖,所以这次暂时没有拉取依赖这个环节,如果你是第一次用这种办法,跟第一种创建项目的方式一样,执行go test即可),浏览器访问一下看是不是真的正常:

ab3fc03317b34a1e9b2aed7a0e4fbafd.png

大功告成!

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/440164.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java二维码图片识别

前言 后端识别二维码图片 代码 引入依赖 <dependency><groupId>com.google.zxing</groupId><artifactId>javase</artifactId><version>3.2.1</version></dependency><dependency><groupId>com.google.zxing<…

C语言指针进阶之四-函数指针的使用之回调函数及库函数qsort函数详解(详解)

目录 1.回调函数 1.1引入 1.2回调函数的使用&#xff0c;加减乘除计算器改造 2.回调函数的应用-qsort函数 实例1&#xff1a;整型数组排序 实例2&#xff1a;结构体排序 ①按照整型数据来排序&#xff0c;这里是按照年龄来排序 ②按照名字来排序&#xff0c;也就是比较…

Java 面试题之 IO(一)

字节流 文章目录 字节流InputStream&#xff08;字节输入流&#xff09;OutputStream&#xff08;字节输出流&#xff09; 文章来自Java Guide 用于学习如有侵权&#xff0c;立即删除 InputStream&#xff08;字节输入流&#xff09; InputStream用于从源头&#xff08;通常是…

【Mac系统PyCharm连接至Linux服务器,实现本地与服务器的实时交互】

Mac系统PyCharm连接至Linux服务器&#xff0c;实现本地与服务器的实时交互 0、目录 1、动机2、说明3、PyCharm 连接Linux服务器操作过程 3.1 连接服务器3.2 验证连接服务器是否成功3.3 查看Linux服务器文件构成3.4 本地与Linux服务器上传内容3.5 从PyCharm的terminal进入到刚…

华为OD-华为机试精讲500篇系列文章目录介绍(持续补充ing)

目录 背景介绍 什么是华为OD&#xff1f; OD现状 OD趋势 华为OD机考刷题攻略 1、刷题资料&#xff1a;投递岗位通过筛选后提供 2、注意事项&#xff1a; 真题代码目录 背景介绍 经济下行的这几年&#xff0c;每个人都感同身受&#xff0c;如何让自己在芸芸众生中脱颖而…

无心剑中译莎士比亚《可否将你比夏天》

莎士比亚十四行诗第18首 Sonnet 18 可否将你比夏天 Shall I compare thee to a summer’s day? Thou art more lovely and more temperate: Rough winds do shake the darling buds of May, And summer’s lease hath all too short a date: Sometime too hot the eye of he…

2024美赛算法预测-1一个强大算法模型,随机森林!!

大家好&#xff0c;今儿咱们来说说关于随机森林的一些核心点~ 首先&#xff0c;随机森林是一种集成学习方法&#xff0c;通过组合多个决策树来进行预测。每个决策树都是在不同的数据子集上训练的&#xff0c;同时引入了随机性&#xff0c;使得每棵树都有差异。 最终的预测结果…

transformer架构的理解

一、transformer 架构 如上图所示&#xff0c;transformer&#xff08;形状像变压器&#xff1f;或者翻译成变形金刚&#xff0c;由不同模块拼装而成&#xff09;的架构左边是n个结构体相同的编码器&#xff08;例如&#xff0c;原论文是6个编码器的串联&#xff09;&#xff0…

动网格-网格重构之铺层(三)

铺层 本文章详细介绍FLUENT动态网格体网格再生方法铺层法。 铺层基本特点&#xff1a; (1)铺层过程中包含了网格的生成和销毁。当区域扩大时&#xff0c;生成网格;缩小时&#xff0c;销毁网格。 (2)适用网格种类:四边形、六面体、三棱柱(网格的分布要服从一定的规则)。 (3)铺…

使用cmake配置opencv c++项目

1、cmake简介 cmake是什么 CMake是一个开源、跨平台的编译&#xff08;Build&#xff09;工具&#xff0c;是用来构建、测试和打包软件的。它能够用简单的语句来描述所有平台的编译过程。它能够输出各种各样的makefile或者project文件&#xff0c;能测试编译器所支持的C特性,类…

Day02-课后练习2-参考答案(数据类型和运算符)

文章目录 巩固题1、案例&#xff1a;今天是周2&#xff0c;100天以后是周几&#xff1f;2、案例&#xff1a;求三个整数x,y,z中的最大值3、案例&#xff1a;判断今年是否是闰年4、分析如下代码的计算结果5、分析如下代码的计算结果6、分析如下代码的计算结果7、分析如下代码的计…

最新即时通讯社交APP源码 支持H5群聊、红包转账和朋友圈

(购买本专栏可免费下载栏目内所有资源不受限制,持续发布中,需要注意的是,本专栏为批量下载专用,并无法保证某款源码或者插件绝对可用,介意不要购买) 功能简介 我们的即时通讯应用提供了完备的IM功能,支持文字、表情、图片、语音等多种聊天方式,包括单聊、群聊、已读…