Linux中Go环境配置和GoModule常用操作
我为什么要学习go语言
当今已经是移动和云计算时代,Go出现在了工业向云计算转型的时刻,简单、高效、内 置并发原语和现代的标准库让Go语言尤其适合云端软件开发(毕竟它就是为此而设计的)。到2014年,Go项目拥有了上百的核心贡献者,其生态圈中拥有了数不尽的第三方库和工具(https://godoc.org/),更有很多大公司开始或迁移到go语言,一些重量级的开源云项目,诸如Docker和Kubernetes 都是用Go语言实现的,一些运作基础设置的公司,诸如Google、CloudFlare、Canonical、Digital Ocean、Github、Heroku以及微软也都在使用Go语言开发一些重量级的项目。再来看看如下公司开源的go库
(1)Facebook开源其go库 https://github.com/facebookgo
(2)Dropbox开源了其基于Go语言的工具库godropbox,并表示在一年前已经决定将Dropbox中对性能要求比较高的后端程序从Python迁移到Go语言。Dropbox的几乎所有的代码都是用Python编写的, Python语言被广泛使用在服务器端、桌面的客户端、网站控制逻辑以及后端的 API 和分析上。Dropbox亲睐Python简单易学、开发效率高等特点,但是现在为了支撑日益增长的用户数量,Dropbox不得不将部分对性能要求比较高的业务替换为有更好的并发支持和更快的运行速度的Go语言。
Go 目前已经发展到1.4版本,除了其新增的特性和bug修正外,它为实现一个新的低延迟垃圾收集器以及支持在移动终端上运行Go奠定了基础。作为程序员我们必须在掌握精通一门语言的同时需要扩大视野,学习另外一种语言的设计思想和精髓,而我认为go再合适不过了!2015年将是Go语言大爆发的一年。
Go环境配置和GoModule
Linux相关
Linux常用操作
mkdir directory ——创建文件夹
vi file ——创建文件,再关闭vim
rm file ——删除文件
rm -rf directory ——递归删除文件夹,r代表递归,f带包强制
mv A B ——移动文件夹,可以用来改名
mv -rf ——同上
cp fromPath toPath ——拷贝,同样可以加-rf
rename ——重命名,需要安装包
ls/ll/tree ——列出文件夹
cat ——打印文件内容
cd path ——进入路径
sudo apt install package ——Ubuntu安装
vim常用操作
:w ——写入
:q ——退出
:wq ——保存退出
home/end ——行首行位
G/gg ——文末,开头
pageup/pagedown ——翻页
backspace/delete ——前删,后删
dd/yy ——删除复制一样
ndd/nyy ——n换成数字,多行
p/P ——光标向下粘贴,光标向上粘贴
u/ctrl+u/ctrl+r ——撤销
:/word ——光标向下搜索
:?word ——光标向上搜索
:1,$s/word1/word2/g ——替换,1可省略
:1,$s/word1/word2/gc ——需要确认的替换
i ——进入输入模式
ESC ——退出输入模式
ctrl+q ——卡死强退输入模式
insert ——切换插入或替换输入
golang环境配置
1.官网下载go包体-拖进linux
2.解压
sudo tar -C /usr/local -zxvf go1.11.5.linux-amd64.tar.gz
3.配置环境变量
vim ~/.bashrc
添加:
#源码包
export GOROOT=/usr/local/go
#用户工作路径
export GOPATH=$HOME/gopath
#系统环境变量
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
source ~/.bashrc
go verison——是否成功输出go版本;
goModule
任意位置创建项目文件夹;
打开终端输入:go mod init + 包名
文件夹下会生成go.mod 和 go.sum两个文件夹
)
go.mod记录了go的版本和依赖包的版本;
go.sum是对依赖包整体去了hash记录,同时也多go.mod取哈希记录;
保证多人合作时引用的包体版本一致;
根据go.mod中依赖,通过go get下载同版本依赖包即可;
Life is too short for so much sorrow.
到此这篇关于Linux中Go环境配置和GoModule的文章就介绍到这了,更多相关Go环境配置内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341