Linux中Go环境配置和GoModule常用操作

 更新时间:2022年01月19日 08:59:31   作者:小紫苏  
这篇文章主要介绍了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环境配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Go处理PDF的实现代码

    Go处理PDF的实现代码

    这篇文章主要介绍了Go处理PDF的实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Go语言实现开发一个简单的gRPC Demo

    Go语言实现开发一个简单的gRPC Demo

    这篇文章主要为大家详细介绍了如何利用Go语言实现开发一个简单的gRPC Demo,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下
    2023-07-07
  • Golang中struct{}和struct{}{}的区别解析

    Golang中struct{}和struct{}{}的区别解析

    这篇文章主要介绍了Golang中struct{}和struct{}{}的区别,通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • GoLang并发机制探究goroutine原理详细讲解

    GoLang并发机制探究goroutine原理详细讲解

    goroutine是Go语言提供的语言级别的轻量级线程,在我们需要使用并发时,我们只需要通过 go 关键字来开启 goroutine 即可。这篇文章主要介绍了GoLang并发机制goroutine原理,感兴趣的可以了解一下
    2022-12-12
  • 一篇文章读懂Golang init函数执行顺序

    一篇文章读懂Golang init函数执行顺序

    init()函数会在包被初始化后自动执行,并且在main()函数之前执行,但是需要注意的是init()以及main()函数都是无法被显式调用的,下面这篇文章主要给大家介绍了关于如何通过一篇文章读懂Golang init函数执行顺序的相关资料,需要的朋友可以参考下
    2022-11-11
  • Golang中crypto/ecdsa库实现数字签名和验证

    Golang中crypto/ecdsa库实现数字签名和验证

    本文主要介绍了Golang中crypto/ecdsa库实现数字签名和验证,将从ECDSA的基本原理出发,详细解析如何在Go语言中实现数字签名和验证,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • golang jwt+token验证的实现

    golang jwt+token验证的实现

    这篇文章主要介绍了golang jwt+token验证的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • 深入了解Golang为什么需要超时控制

    深入了解Golang为什么需要超时控制

    本文将介绍为什么需要超时控制,然后详细介绍Go语言中实现超时控制的方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下
    2023-05-05
  • golang中strconv.ParseInt函数用法示例

    golang中strconv.ParseInt函数用法示例

    这篇文章主要介绍了golang中strconv.ParseInt函数用法,实例分析了strconv.ParseInt函数将字符串转换为数字的简单使用方法,需要的朋友可以参考下
    2016-07-07
  • Go语言循环遍历含有中文的字符串的方法小结

    Go语言循环遍历含有中文的字符串的方法小结

    这篇文章主要介绍了Go语言循环遍历含有中文的字符串的几种方法,文章通过代码示例讲解的非常详细,具有一定的参考价值,感兴趣的小伙伴跟着小编一起来看看吧
    2023-07-07

最新评论