1. go 学习笔记
Go
是一种开源编程语言,可以轻松构建简单,可靠,高效的软件.
Go
语言天生支持并发,近年甚为流行.
1.1. 诞生背景
为了解决 Google
在软件开发中遇到的困难,三位创始人开发出了 Go
语言,主要是以下问题:
- 多核硬件架构
- 超大规模的分布式计算集群
Web
模式导致的前所未有的开发规模和更新速度
这些也是广大的互联网公司遇到的问题,越来越多的国内公司也开始广泛使用 Go
语言开发,比如熟悉的Docker
和 K8s
也是 Go
语言开发的,也是 Go
语言被称为云端开发语言的原因之一.
1.2. 语言特点
Go
语言是云计算时代的 C
语言也称为21 世纪的 C
语言,由此可见,Go
的地位非同一般.
Go
语言的诞生是为了提高生产效率,专门对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全,支持并行进程.
- 运行效率高,开发高效,部署简单.
运行效率高是因为编译性语言与解释性语言相比,开发高效是语法简单,部署简单是直接部署编译后的程序.
- 语言层面支持并发,易于利用多核实现并发.
不同于 php,只需要 go 配合 channel 即可完成进程或线程所做的工作.
- 内置
runtime
并支持垃圾回收
类似
Java
虚拟机支持垃圾回收,不必手动进行内存管理.
- 简单易学,丰富的标准库,强大的网络库.
学习成本低,语法简单但表达能力强,支持函数式编程,面向对象编程等多种编程范式.
- 内置强大的工具(
gofmt
),跨平台编译,内嵌C
支持.
不同的人有不同的代码风格,可转化统一风格
1.3. 知名应用
Docker
: 是为开发人员构建和运行应用程序而构建的平台
Kubernetes
: 自动化容器部署,扩展,管理的应用程序
Etcd
: 分布式键值对存储系统
1.4. 学习文档
- https://golang.org/ : The Go Programming Language
- https://golang.google.cn/ : The Go Programming Language
- https://tour.go-zh.org/welcome/1 : Go 语言之旅
- https://studygolang.com/ : Go语言中文网- Golang中文社区
- https://www.runoob.com/go/go-tutorial.html : Go 语言教程| 菜鸟教程
- https://snowdreams1006.github.io/go/ : Go 学习笔记
作者: 雪之梦技术驿站
链接: https://snowdreams1006.github.io/go/
来源: 雪之梦技术驿站
本文原创发布于「雪之梦技术驿站」,转载请注明出处,谢谢合作!