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 值传递与引用传递的方法

    Go 值传递与引用传递的方法

    这篇文章主要介绍了Go 值传递与引用传递的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • 使用go语言实现cors中间件

    使用go语言实现cors中间件

    CORS是一种浏览器安全机制,用于控制在Web应用程序中不同源(Origin)之间的资源共享,本文将给大家介绍如何使用go语言实现cors中间件,文中有详细的代码示例供大家参考,需要的朋友可以参考下
    2023-09-09
  • go语言map字典删除操作的方法

    go语言map字典删除操作的方法

    这篇文章主要介绍了go语言map字典删除操作的方法,实例分析了map字典操作的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • 再次探讨go实现无限 buffer 的 channel方法

    再次探讨go实现无限 buffer 的 channel方法

    我们知道go语言内置的channel缓冲大小是有上限的,那么我们自己如何实现一个无限 buffer 的 channel呢?今天通过本文给大家分享go实现无限 buffer 的 channel方法,感兴趣的朋友一起看看吧
    2021-06-06
  • Golang Gob编码(gob包的使用详解)

    Golang Gob编码(gob包的使用详解)

    这篇文章主要介绍了Golang Gob编码(gob包的使用详解),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-05-05
  • golang操作连接数据库实现mysql事务示例

    golang操作连接数据库实现mysql事务示例

    这篇文章主要为大家介绍了golang操作连接数据库实现mysql事务示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • golang判断key是否在map中的代码

    golang判断key是否在map中的代码

    这篇文章主要介绍了golang判断key是否在map中的代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • 示例剖析golang中的CSP并发模型

    示例剖析golang中的CSP并发模型

    这篇文章主要为大家介绍了示例剖析golang中的CSP并发模型,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 使用Go语言实现敏感词过滤功能

    使用Go语言实现敏感词过滤功能

    敏感词过滤,算是一个比较常见的功能,尤其是在内容、社交类应用中更是如此,本文介绍如何使用Go语言实现简单的敏感词过滤功能,文中通过代码示例介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • 简单聊一聊Go语言中的数组和切片

    简单聊一聊Go语言中的数组和切片

    数组和切片由于语法十分相似,在使用中容易混淆,要认真区分,下面这篇文章主要给大家介绍了关于Go语言中数组和切片的相关资料,需要的朋友可以参考下
    2021-07-07

最新评论