二、Golang语言介绍、环境搭建以及编译工具( CDN 加速代理)

Go 语言是非常有潜力的语言,是因为它的应用场景是目前互联网非常热门的几个领域,比如 WEB 开发、区块链开发、大型游戏服务端开发、分布式/云计算开发。国内比较知名的B 站就是用 Go 语言开发的,像 Goggle、阿里、京东、百度、腾讯、小米、360 的很多应用也是使用 Go 语言开发的。

Go语言的并发是基于 goroutine 的,goroutine 类似于线程,但并非线程。

可以将 goroutine 理解为一种虚拟线程。Go 语言运行时会参与调度 goroutine,将 goroutine 合理地分配到每个 CPU 中,最大限度地使用CPU性能。开启一个goroutine的消耗非常小(大约2KB的内存),你可以轻松创建数百万个goroutine

goroutine的特点:

    1.`goroutine`具有可增长的分段堆栈。这意味着它们只在需要时才会使用更多内存。
    2.`goroutine`的启动时间比线程快。
    3.`goroutine`原生支持利用channel安全地进行通信。
    4.`goroutine`共享数据结构时无需使用互斥锁。

Go语言的特点

语法简洁

Go 语言简单易学,学习曲线平缓,不需要像 C/C++ 语言动辄需要两到三年的学习期。Go 语言被称为“互联网时代的C语言”。Go 语言的风格类似于C语言。其语法在C语言的基础上进行了大幅的简化,去掉了不需要的表达式括号,循环也只有 for 一种表示方法,就可以实现数值、键值等各种遍历。

代码风格统一

Go 语言提供了一套格式化工具——go fmt。

一些 Go 语言的开发环境或者编辑器在保存时,都会使用格式化工具进行修改代码的格式化,这样就保证了不同开发者提交的代码都是统一的格式。

开发效率高

Go 语言成功的项目

nsq bitly 开源的消息队列系统,性能非常高,目前他们每天处理数十亿条的消息
docker :基于 lxc 的一个虚拟打包工具,能够实现 PAAS 平台的组建
packer :用来生成不同平台的镜像文件,例如 VM vbox AWS
skynet :分布式调度框架
Doozer :分布式同步工具,类似 ZooKeeper
Heka mazila 开源的日志处理系统
cbfs couchbase 开源的分布式文件系统
tsuru :开源的 PAAS 平台,和 SAE 实现的功能一模一样
groupcache memcahe 作者写的用于 Google 下载系统的缓存系统
god :类似 redis 的缓存系统,但是支持分布式和扩展性
gor :网络流量抓包和重放工具

Go 环境环境搭建(window)

下载安装 Golang

Go 官网下载地址: https://golang.org/dl/
Go 官方镜像站(推荐): https://golang.google.cn/dl/
选择你要选择的版本
我下载的是1.14.2;

安装软件

双击下一步下一步进行安装,直接无脑装,最新的版本以及13之后的不需要手动配置GOPATH环境变量,如果是之前的版本需要手动配置环境变量。
方法如下:
打开我的电脑,右键属性

 

 找到你下载go之后的文件路径内的bin

复制粘贴到编辑里的新建即可;

说明 Go1.11 版本之后无需手动配置环境变量,使用 go mod 管理项目,也不需要非得把项
目放到 GOPATH 指定目录下,你可以在你磁盘的任何位置新建一个项目。
Go1.13 以后可以彻底不要 GOPATH 了。

GO代码必须在工作空间内。工作空间是一个目录,其中包含三个子目录:

src —- 里面每一个子目录,就是一个包。包内是Go的源码文件

pkg —- 编译后生成的,包的目标文件

bin —- 生成的可执行文件

安装完成后验证一下

win+r打开cmd编辑器,输入

go version

查看 go 环境
go env

验证成功。 

Windows 安装vs code

下载安装 vscode

https://code.visualstudio.com/

 直接无脑下载

汉化vscode

 有部分插件不太好下,需要借助梯子,或者下载已经编译好的可执行文件;

方法借鉴:

第一种

Go 生态系统中有着许多中国 Gopher 们无法获取的模块,比如 golang.org/x/...

设置 CDN 加速代理就很有必要了,以下是几个速度不错的提供者:

七牛:Goproxy 中国 https://goproxy.cn
阿里: mirrors.aliyun.com/goproxy/
官方: < 全球 CDN 加速 https://goproxy.io/>
其他:jfrog 维护 https://gocenter.io

# 启用 Go Modules 功能
$env:GO111MODULE="on"

# 配置 GOPROXY 环境变量,以下三选一

# 1. 七牛 CDN
$env:GOPROXY="https://goproxy.cn,direct"

# 2. 阿里云
$env:GOPROXY="https://mirrors.aliyun.com/goproxy/,direct"

# 3. 官方
$env:GOPROXY="https://goproxy.io,direct"

go env -w GOPROXY=https://goproxy.io,direct
go env -w GO111MODULE=on

第二种

手动从github上下载工具,(执行此步骤前提需要你的电脑上已经安装了git)

第一步:现在自己的GOPATHsrc目录下创建golang.org/x目录

第二步:在终端/cmd中cdGOPATH/src/golang.org/x目录下

第三步:执行git clone https://github.com/golang/tools.git tools命令

第四步:执行git clone https://github.com/golang/lint.git命令

第五步:按下Ctrl/Command+Shift+P再次执行Go:Install/Update Tools命令,在弹出的窗口全选并点击确定,这一次的安装都会SUCCESSED了。

经过上面的步骤就可以安装成功了。 这个时候创建一个Go文件,就能正常使用代码提示、代码格式化等工具了。

第三种:

https://pan.baidu.com/s/102PYdtOKhHqYrPnHeYhBFQ  提取码:weiy 

里面有对应方法,Mac下需要给拷贝的这些文件赋予可执行的权限。

修改vscode终端cmd启动

终端默认的是powershell,有的直接默认是cmd,如果你的是powershell需要修改为cmd

文件 -> 首选项 -> 设置中打开settings页面, 搜索shell或则找Terminal>Integrated>Shell:Windows,

 

添加"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\cmd.exe", 后面的地址是你的cmd地址。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵唯一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值