基于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.mzph.cn/news/654958.shtml

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

相关文章

【Linux】Linux下多线程

需要云服务器等云产品来学习Linux的同学可以移步/–>腾讯云<–/官网&#xff0c;轻量型云服务器低至112元/年&#xff0c;优惠多多。&#xff08;联系我有折扣哦&#xff09; 文章目录 1. 前置&#xff1a;进程地址空间和页表1.1 如何看待进程地址空间和页表1.2 虚拟地址…

MIAOYUN获评OpenCloudOS社区2023年度优秀贡献企业

近日&#xff0c;OpenCloudOS社区发布了社区年度贡献企业榜单&#xff0c;成都元来云志科技有限公司&#xff08;简称“MIAOYUN”&#xff09;凭借对国产开源的热情&#xff0c;及对操作系统产业的支持&#xff0c;通过兼容适配互认证&#xff0c;为推动OpenCloudOS规模化应用&…

python数据类型-数字类型

1. 整型 整型即整数类型&#xff0c;对应于python中的int类型&#xff0c;包含&#xff1a;0&#xff0c;正整数&#xff0c;负整数 数字前面加上进制修饰符代表该数字是几进制&#xff0c;如0b1010则代表二进制&#xff0c;其输出结果为十进制10。默认不加任何进制修饰符为十…

使用IP爬虫代理提取数据的步骤是什么?爬虫代理IP怎么提高采集效率?

​​​​​ 一、使用IP爬虫代理提取数据的步骤 在使用爬虫代理IP提取数据之前&#xff0c;需要先了解数据来源和目标网站的结构。以下是一个基本的步骤&#xff1a;1.确定数据来源 首先需要确定要提取数据的网站或数据源&#xff0c;了解网站的结构、数据存储方式以及数据更新…

Qt应用软件【协议篇】Modbus详细介绍

文章目录 概述Modbus 485协议概述在工业自动化中的应用 通信模式数据模型功能码 Modbus RTU示例 1&#xff1a;读取保持寄存器示例 2&#xff1a;写入单个线圈示例 3&#xff1a;写入多个保持寄存器报文传输 Modbus ASCII报文示例报文传输 Modbus TCP报文示例报文传输 概述 在…

如何将iPad连接到USB设备?这里提供了详细步骤

本文介绍了如何将iPad连接到USB设备。说明适用于所有版本的iPad。 将USB设备与带USB-C端口的iPad一起使用 以下iPad具有USB-C端口: 自2018年第三代以来的iPad Pro机型 自2020年第四代以来的iPad Air机型 自2021年第六代以来的iPad迷你机型 自2022年以来的第十代iPad机型 这些…

PINN物理信息网络 | 混合变量PINN求解纳维-斯托克斯方程

混合变量物理神经网络(Mixed Variable Physics-Informed Neural Network,PINN)是一种将物理知识与神经网络相结合的方法,用于求解偏微分方程(Partial Differential Equations,PDEs)的数值解。纳维-斯托克斯方程是一种描述流体运动的PDE,可以通过混合变量PINN方法进行求…

nltk关键字抽取与轻量级搜索引擎(Whoosh, ElasticSearcher)

背景 有时候你想用一句完整的话或一个文本在基于关键字的搜索引擎里搜索&#xff0c;但是如果把整个文本放进去搜索的话&#xff0c;效果不是很好&#xff0c;因为你的搜索引擎是基于关键字而不是sematic search。那怎么抽取关键字呢&#xff1f; 利用NLTK抽取关键的代码 imp…

动手学深度学习(一)深度学习介绍2

目录 二、起源 三、深度学习的成功案例&#xff1a; 四、特点&#xff1a; 五、小结&#xff1a; 二、起源 为了解决各种各样的机器学习问题&#xff0c;深度学习提供了强大的工具。 虽然许多深度学习方法都是最近才有重大突破&#xff0c;但使用数据和神经网络编程的核心思…

Day53 动态规划part14 1143. 最长公共子序列 1035. 不相交的线 53. 最大子数组和

Day53 动态规划part14 1143. 最长公共子序列 1035. 不相交的线 53. 最大子数组和 1143. 最长公共子序列 class Solution { public:int longestCommonSubsequence(string text1, string text2) {vector<vector<int>> dp(text1.size()1,vector<int>(text2.si…

Redis学习——高级篇①

Redis学习——高级篇① Redis7高级之单线程和多线程&#xff08;一&#xff09; 一、Redis单线程VS多线程1.Redis的单线程部分1.1 Redis为什么是单线程&#xff1f;1.2 Redis所谓的“单线程”1.3 Redis演进变化1.3.1 Redis 3.x 单线程时代性能很快的原因1.3.2…

python实例100第47例:两个变量值互换

题目&#xff1a;两个变量值互换。 程序分析&#xff1a;无 程序源代码&#xff1a; 实例 #!/usr/bin/python # -*- coding: UTF-8 -*- def exchange(a,b): a,b b,a return (a,b) if __name__ __main__: x 10 y 20 print (x %d,y %d % (x,y))…

【Linux网络编程】网络编程套接字(1)

【Linux网络编程】网络编程套接字(1) 目录 【Linux网络编程】网络编程套接字(1)源IP地址和目的IP地址端口号端口号和进程ID的关系 网络通信TCP协议UDP协议网络字节序socket编程接口简单的UDP网络程序 作者&#xff1a;爱写代码的刚子 时间&#xff1a;2024.1.29 前言&#xff1…

树--二叉树(C语言纯手凹)

目录 目录 1.什么是树&#xff1f;&#xff08;不深入&#xff0c;仅做了解&#xff09; 2.树的表示方式 2.1孩子兄弟表示法&#xff08;左孩子右兄弟&#xff09; 2.2孩子表示法 2.3双亲表示法 3.什么是二叉树 4.二叉树分类 4.1满二叉树 4.2完全二叉树 4.3二叉搜索树…

基础小白快速学习c语言----变量的仔细介绍

变量&#xff1a; 表面理解&#xff1a;在程序运行期间&#xff0c;可以改变数值的数据&#xff0c; 深层次含义&#xff1a;变量实质上代表了一块儿内存区域&#xff0c;我们可以将变量理解为一块儿内存区域的标识&#xff0c;当我们操作变量时&#xff0c;相当于操作了变量…

qemu搭建arm64 linux kernel环境

一、环境准备 ubuntu 22.04 内核源码&#xff1a;linux-6.6.1 &#xff08;直接上最新版&#xff09; 下载链接&#xff1a;The Linux Kernel Archives 交叉编译工具链&#xff1a; sudo apt-get install gcc-12-aarch64-linux-gnu 具体能用的版本gcc-XX-arch64-linux-gnu…

如何使用IaC Scan Runner扫描IaC中的常见安全漏洞

关于IaC Scan Runner IaC Scan Runner是一款针对IaC&#xff08;基础设施即代码&#xff09;的安全漏洞扫描工具&#xff0c;在该工具的帮助下&#xff0c;广大安全开发人员可以轻松扫描IaC&#xff08;基础设施即代码&#xff09;中的常见漏洞。 IaC Scan Runner本质上是一个…

正则表达式 文本三剑客

一 正则表达式&#xff1a; 由一类特殊字符及文本字符所编写的模式&#xff0c;其中有些字符&#xff08;元字符&#xff09;不表示字符字面意义&#xff0c;而表示控制或通配的功能&#xff0c;类似于增强版的通配符功能&#xff0c;但与通配符不同&#xff0c;通配符功能是用…

2023年算法GWCA -CNN-BiLSTM-ATTENTION回归预测(matlab)

2023年算法GWCA -CNN-BiLSTM-ATTENTION回归预测&#xff08;matlab&#xff09; GWCA -CNN-BiLSTM-Attention长城建造算法优化卷积-长短期记忆神经网络结合注意力机制的数据回归预测 Matlab语言。 长城建造算法&#xff08;Great Wall Construction Algorithm&#xff0c;GWC…

防御保护第四次作业

防火墙的智能选路 就近选路 --- 我们希望在访问不同运营商的服务器是&#xff0c;通过对应运营商的链路。这样可以高 通信效率&#xff0c;避免绕路。 策略路由 -- PBR 传统的路由&#xff0c;仅基于数据包中的目标IP地址查找路由表。仅关心其目标&#xff0c;所以&#…