Golang核心编程:

区块链研发工程师(分布式账本技术,互联网数据库技术,特点是去中心化)
Go服务器端/游戏软件工程师(现在主流是C C++,处理日志,数据打包,文件处理,美团后台流量支撑,处理大并发;游戏后台数据通道)
Golang分布式/云计算软件工程师(盛大云,cdn,京东消息推送系统,分布式文件处理)

Golang的应用领域:
区块链应用
后端服务器应用:主站后台流量(排序,推荐,搜索等),提供负载均衡,cache,容器,按条件分流;游戏服务器(通讯,逻辑,数据存储)
云计算/云服务后台应用:cdn内容分发网络,cdn的调度系统,分发系统,监控系统,短域名服务;分布式文件系统;说明golang的计算能力很强

高效而愉快的学习
先整体框架,再细节
工作中用到什么,快速学习的能力
学习软件编程是在琢磨别人是怎么做,而不是我认为应该怎么做的过程
把重点放在逻辑处理和编程思想上,而不是语法本身

如何深入的学习一个新技术或者知识点
1.项目开发过程中,需要解决某个问题
2.先看看是否能用传统的技术解决,使用新技术
3.研究原理和基本语法
4.快速入门案例,简单,了解新技术的基本使用
5.研究技术的细节,这个地方是最能体现程序员的能力,也是最废时间的

Go语言的特点:
1.从c语言继承了许多特性,数据类型,参数,指针等
2.引入了包的概念,每一个文件归属一个包,不能单独存在
3.引入了垃圾回收机制
4.天然并发,goroutine,基于CPS并发模型
5.支持管道通信机制
6.支持函数返回多个值
7.新的创新,比如切片slice,延时执行defer等

开发工具:VSCode Sublime Text  Vim  Emacs

windows搭建开发环境:
1.下载安装就可以,
https://studygolang.com/dl
比如我的目录 D:\golang\    code目录(存放第三方类库) go目录(golang安装目录)  workspace目录(我自己的代码目录)
2.三个环境变量
PATH变量,执行go安装的目录D:\golang\go\bin;
GOPATH变量,D:\golang\go\code
GOROOT变量,D:\golang\go\workspace