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

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

语法简洁

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

代码风格统一

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

一些 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 :网络流量抓包和重放工具

下载安装 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

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

方法借鉴:

第一种

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

第二种

githubgitGOPATHsrcgolang.org/x/cmd中cdGOPATH/src/golang.org/xgit clone https://github.com/golang/tools.git toolsgit clone https://github.com/golang/lint.gitCtrl/Command+Shift+PGo:Install/Update Tools

第三种:

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",