为什么写这个教程
Golang在中国发展非常不错,国内关于 Golang 的书籍也挺多,网上的 Golang 教程也不在少数。为什么我还要重复造这个轮子呢?我自学 Golang 也是看网上各种教程,学至今日,我回头看过来。刚开始学习时会写个 “Hello World”,懂 Golang 语法,然后实际项目应用上感觉还是从零开始一样,刚开始无法自己去独立构建一个项目,只能采用模仿公司前辈写的项目再加领导指点一下,在写项目其间也遇到各种坑,如指针,Chan,切片等问题。而网上的教程大多数都是一种教科书式的,基本模式是:学习理论 -> 实践 -> 入坑 -> 理论 -> 实践 。 完成一个完整的闭环,你算是从理论入门到实践入门再到理论与实践结合入门。
这个教程的初衷就是让你一次:实践入门,至于基本理论原理涉及篇幅太大,不过其间也会略提一些。我也会推荐一些非常棒的教程供大家学习。
本入门系列只带你实践入门,教你写出日常工程代码
历史
- Go 语言起源于 2007 年,并在 2009 年正式发布
- Go 是一门非常年轻的语言,它“兼具 Python 的简洁,C/C++ 的性能与安全”
- Go 被誉为“21世纪的 C 语言"
创始人
- Rob Pike
- Go语言项目总负责人,贝尔实验室 Unix 团队成员
- Ken Thompson
- 贝尔实验室 Unix 团队成员,C语言、Unix 和 Plan 9 的创始人之一
- Robert Griesemer
- 就职于 Google,参与开发 Java HotSpot 虚拟机,对语言设计有深入的认识,并负责 Chrome 浏览器和 Node.js 使用的 Google V8 JavaScript 引擎的代码生成部分。
特点&优势
- 语言层面支持并发编程
- 跨平台编译
- 特性少,语法简单,易于上手
- 静态类型语言
- 丰富的标准库和丰富的工具链
- 可直接编译成机器码,不依赖其他库
- 内嵌C支持
- 支持GC
- 支持反射
- 匿名函数和闭包
用途
- 网络编程
- 系统编程
- 并发编程
- 分布式编程
知名项目
- Kubernetes
- Etcd
- Prometheus
- Grafana
- Docker
- Hugo
- Influxdb