学习Go语言的前置知识
前言
Go语言具有以下的特点:
- 语法简洁,相比其他语言更容易上手,开发效率更高;
- 自带垃圾回收(GC),不用再手动申请释放内存,能够有效避免 Bug,提高性能;
- 语言层面的并发支持,让你很容易开发出高性能的程序;
- 提供的标准库强大,第三方库也足够丰富,可以拿来即用,提高开发效率;
- 可通过静态编译直接生成一个可执行文件,运行时不依赖其他库,部署方便,可伸缩能力强;
- 提供跨平台支持,很容易编译出跨各个系统平台直接运行的程序。
对比其他语言,Go 的优势也显著。比如 Java 虽然具备垃圾回收功能,但它是解释型语言,需要安装 JVM 虚拟机才能运行;C 语言虽然不用解释,可以直接编译运行,但是它不具备垃圾回收功能,需要开发者自己管理内存的申请和释放,容易出问题。而 Go 语言具备了两者的优势!
正是Go具备Java和C不具备的能力,Go目前越来越多地用在微服务、云原生、游戏领域。
Go的生态圈
方向 | 名称 | 项目地址 |
Web框架 | beego | |
gin | ||
echo | ||
Iris | ||
微服务框架 | Istio | |
go kit | ||
micro | ||
容器编排 | Kubernetes | |
swarm | ||
服务发现 | consul | |
etcd | ||
中间件 | zinx(长链接框架) | |
gPRC(RPC框架) | ||
nsq(消息队列) | ||
codis(redis集群) | ||
leaf(游戏服务器) | ||
存储引擎 | TiDB | |
爬虫框架 | goquery |
学习资料
官网无法下载的,可以去https://studygolang.com/dl 下载go的安装包。
名称 | 地址 |
Go中文社区 | |
Go 程序设计 | |
Go语言圣经 | |
Go语言高级编程 | |
Go 语言高性能编程 |