傻瓜式的go modules的讲解和代码

国内关于gomod的文章,哪怕是使用了百度 -csdn,依然全是理论,虽然golang的使用者大多是大神但是也有像我这样的的弱鸡是不是?

所以,我就写个傻瓜式教程了。

github地址:https://github.com/247292980/go_moudules_demo

代码很少很简单。。。。

1.新建文件夹 go_moudiules_demo

2.go mod之,生成gomod.go文件

go mod init go_moudiules_demo语法go mod init [module]

3.创建main.go,默认包名是gomod,需要改成main

4.创建正真的存放代码的文件夹 demo和文件gomod.go,注意不能与main放在同一文件夹下,因为会造成包名冲突

5.根据规则引入代码,这里有个坑,因为goland做的不太好,实际上golang的所有工具都做的不太好,导致代码报红,但是实际上go build/run还是能跑通的

当然goland也可以配置,就是不知道怎么去红名。。。  

三 总结

gomod最容易让人进了误区就是,把自己之前的代码都gomod一次,那么后面使用的时候直接根据gomod的package找之前的代码,简直美滋滋。

毕竟是go moudules但是,实际上只是go moudule,他只管一个项目里的多个包。

为什么造成这个误区呢?因为国内说的都是包管理,我还真以为是针对包的操作,然后第一次尝试失败后,翻了下官网

A module is a collection of related Go packages. Modules are the unit of source code interchange and versioning.The go command has direct support for working with modules, including recording and resolving dependencies on other modules.Modules replace the old GOPATH-based approach to specifying which source files are used in a given build.

 a collection of related Go packages. 相关Go包的集合,这玩意的理解真的是难,什么相关,相关的是什么?这时候根据官网的usage代码反向理解下go mod init [module]

,显然是 module的相关Go包的集合,而module是一个单数啊。。。module和go mudules。。。我该如何理解啊。。。模板我倒是知道。。。总感觉这个怪不到谷歌头上,而且这玩意大家试个两下,就能找到正确理解也不算什么事。而且我要是把自己的代码都丢到github上同样不会报错,只是我是想着不丢到github上面的使用所以进了歪路。而且看后面的语法解析 go mod download 看起来就像是能实现我说的效果的,就是国内没什么材料,我只好一个一个翻英文,,,

而第二句Modules are the unit of source code interchange and versioning. Modules 是源码的版本控制和交换的单位,也就说明go mod之间是独立的,,,不能互调,除非在gopath里面。感觉大神看到这句两下都不用试了。。。

四 语法解析

主要是一个人的博客 http://blog.51cto.com/qiangmzsx/2164520?source=dra

我把其中的关键抽出来,去掉他的代码,有兴趣的可以去原文看看

    go mod init:初始化modules
    go mod download:下载modules到本地cache
    go mod edit:编辑go.mod文件,选项有-json、-require和-exclude,可以使用帮助go help mod edit
    go mod graph:以文本模式打印模块需求图
    go mod tidy:删除错误或者不使用的modules
    go mod vendor:生成vendor目录
    go mod verify:验证依赖是否正确
    go mod why:查找依赖

    go test    执行一下,自动导包

    go list -m  主模块的打印路径
    go list -m -f={{.Dir}}  print主模块的根目录
    go list -m all  查看当前的依赖和版本信息

原文地址:https://www.cnblogs.com/ydymz/p/9788804.html

时间: 2024-10-08 08:56:38

傻瓜式的go modules的讲解和代码的相关文章

盘点三个网络赚零花钱的小项目,傻瓜式操作

今天,写一篇比较特别的日志,咱们来盘点三个赚零花钱的小项目,都是“傻瓜式”操作. 这几个小项目,虽说赚不了太多的钱,但是却是一个可以锻炼执行力的好方法. 每一个项目操作都非常的简单,边锻炼执行力,边收钱,也是一种不错的体验. 废话不多说,咱们直接进入主题啊! 一,支付宝借条,可赚零花钱,也可赚大钱 支付宝有打借条的功能,本来他们开发这个,只是针对于熟人之前借钱的. 不过,无心插柳柳成荫,没成想,这个功能火的一塌糊涂,完全带火了陌生人之间的借贷业务. 如何利用支付宝借条赚钱? 其实就跟放贷是一样的

傻瓜式操作的三个网络赚零花钱的小项目

今天,写一篇比较特别的日志,咱们来盘点三个赚零花钱的小项目,都是"傻瓜式"操作. 这几个小项目,虽说赚不了太多的钱,但是却是一个可以锻炼执行力的好方法. 每一个项目操作都非常的简单,边锻炼执行力,边收钱,也是一种不错的体验. 废话不多说,咱们直接进入主题啊! 一,支付宝借条,可赚零花钱,也可赚大钱 支付宝有打借条的功能,本来他们开发这个,只是针对于熟人之前借钱的. 不过,无心插柳柳成荫,没成想,这个功能火的一塌糊涂,完全带火了陌生人之间的借贷业务. 如何利用支付宝借条赚钱? 其实就跟放

seajs 2.3.0 傻瓜式入门

[seajs] 很久之前就想使用seajs,尝试了多次,可能是自己比较笨或者seaj的文档和例子太简单,总是无从下手, 这次自己搞了一个网站,引用多个js的时候需要减少http请求, 找了半天又找到seajs+spm,好吧,再来一次. [博文] 这个博文讲的很透彻,好像是seajs开发者写的,供参考,如果这个博文能看懂那就不必再往下看了, 地址:https://speakerdeck.com/lifesinger/seajs [傻瓜式入门] 如果还是看不懂,那就一步一步往下看吧. 说明: 我的例

NOSDK--关于android傻瓜式的分包设想

一直以来,我总是以“够用就好”为理由,很少再维护过自己的一键打包的项目.最近接触了棱镜的sdk,感觉将apk包上传到棱镜服务器,后台来进行分包这种简单的方式很招人待见. 原理似乎不难,apk即zip压缩文件,解压后需要处理的主要是classes.dex,二进制的AndroidManifest.xml和resources.arsc文件.转载的那篇文章详细的介绍了使用android原生指令编译出apk的过程,从中也可以了解到这些文件的生成方法. nosdk现在已经实现了中间层的代码,不过预先编译各平

傻瓜式操作Nagios图解

傻瓜式操作Nagios 为了节省资源,首先在淘汰的机器上安装一个低版本的OSSIM系统,接下来在WebUI中无需编写任何代码和配置文件便可开启傻瓜化操作Nagios之旅. 1.在左侧菜单中设置网络发现. 开始扫描,发现设备 点击完成后可出现扫描结果,接着选则更新数据库. 2.主机列表 选择一台主机开始设置监控项 查看监控效果 3.列拓扑 列出另一网段更多主机,列出主机状态. 很轻松就完成了Nagios设置,今后增减服务器都可以通过这种图形化方式修改Nagios,非常方便,刚才说了这只是一个低版本

如何傻瓜式截取视频某一片段?

首先在此声明一下,傻瓜式教程顾名思义当然是专门为傻瓜一人写的教程.         当某一天你突然遇到一段很心动的视频,如果你没有视频截取的技术,只能眼睁睁的看着它溜走.那么如何从一整段视频里截取出你心动的视频呢?正如条条大路通罗马,大概估量了下,对于我本人而言有十多种不同截取视频的方法.在这里我只选了一种最简单的傻瓜式截取教程,就是用格式工厂来截取视频. 工具/原料 格式工厂 (首先你去网上下载一个格式工厂软件,这里默认你已会下载安装软件,不要告我你不会下载安装软件,不然会鄙视你) 方法/步骤

asp.net 2.0中傻瓜式使用soap header

在websevrice 中,soap header是十分重要的哦,主要是安全性的考虑,在asp.net 2.0中,可以简单地应用soap header来进行傻瓜式的应用,更复杂的应用当然要更深入地去看了, 首先,我们写个简单的helloworld的webservice using System; using System.Web; using System.Web.Services; using System.Web.Services.Protocols; [WebService(Namespa

Struts学习傻瓜式入门篇

或许有人觉得struts不容易学,似乎里面的一些概念让未接触过的人迷惑,MVC1.MVC2.模式……我写这篇文章是想让从来没有接触过struts的人,能有个简单的入门指引,当然,系统地学习struts是必要的,里面有很多让人心醉的东东,那是后话了. 该案例包括首页,用户登陆.网站向导页面.就这么简单,没有深奥的struts概念,主要靠动手,然后用心体会. WEB Server用tomcat4.到http://jakarta.apache.org下载struts1.1,把zip文 件释放到c:\s

傻瓜式操作数据库

#!/bin/bash                                          ######################################################                                          #                                                    #                                          #