Golang核心编程: 区块链研发工程师(分布式账本技术,互联网数据库技术,特点是去中心化) Go服务器端/游戏软件工程师(现在主流是C C++,处理日志,数据打包,文件处理,美团后台流量支撑,处理大并发;游戏后台数据通道) Golang分布式/云计算软件工程师(盛大云,cdn,京东消息推送系统,分布式文件处理) Golang的应用领域: 区块链应用 后端服务器应用:主站后台流量(排序,推荐,搜索等),提供负载均衡,cache,容器,按条件分流;游戏服务器(通讯,逻辑,数据存储) 云计算/云服务后台应用:cdn内容分发网络,cdn的调度系统,分发系统,监控系统,短域名服务;分布式文件系统;说明golang的计算能力很强 高效而愉快的学习 先整体框架,再细节 工作中用到什么,快速学习的能力 学习软件编程是在琢磨别人是怎么做,而不是我认为应该怎么做的过程 把重点放在逻辑处理和编程思想上,而不是语法本身 如何深入的学习一个新技术或者知识点 1.项目开发过程中,需要解决某个问题 2.先看看是否能用传统的技术解决,使用新技术 3.研究原理和基本语法 4.快速入门案例,简单,了解新技术的基本使用 5.研究技术的细节,这个地方是最能体现程序员的能力,也是最废时间的 Go语言的特点: .从c语言继承了许多特性,数据类型,参数,指针等 .引入了包的概念,每一个文件归属一个包,不能单独存在 .引入了垃圾回收机制 .天然并发,goroutine,基于cps并发模型 .支持管道通信机制 6.支持函数返回多个值 7.新的创新,比如切片slice,延时执行defer等 开发工具:VSCode Sublime Text Vim Emacs windows搭建开发环境: .下载安装就可以,https://studygolang.com/dl 比如我的目录 D:\golang\ code目录(存放第三方类库) go目录(golang安装目录) workspace目录(我自己的代码目录) .三个环境变量 PATH变量,执行go安装的目录D:\golang\go\bin; GOPATH变量,D:\golang\go\code GOROOT变量,D:\golang\go\workspace