5.12 Go学习笔记
1. 初识Go语言
1.1 什么是Go语言
-
高性能、高并发:不需要去寻找优化过的第三方库,而是利用基本库或者利用基本库封装的第三方库就可以开发高并发第三方应用程序。
-
语法简单、学习曲线平缓:语法语言风格类似于C语言,比如吃掉了表达式括号、循环也只有一种for循环表达式。这样直接就可以实现数值、键值的各种遍历。
package main
import (
"net/http"
)
func main() {
http.Handle("/", http.fileServer(http.Dir(".")))
http.ListenAndServe(":8080",nil)
}
- 丰富的标准库:Go语言具有很多功能完善、性能优良的标准库,利用标准库就可以完成大部分计数功能的开发,关键在于这些标准库有很大的稳定性和兼容性保障,能够持续享受标准库迭代带来的性能优化,这极大的降低了学习和开发的难度。
- 完善的工具链:Go语言拥有丰富的工具链,在编译,代码提示,代码格式化,语法检查、包管理等都有对应的工具。还内置了单元测试框架,可以对每个单元单独测试。
- 静态编译:Go语言中所有的编译结果都是静态链接的,只需要拷贝编译之后唯一的一个编译文件就可以正确运行,比C++和Java要方便的多。
- 快速编译:Go语言具有静态语言几乎最快速的编译速度,在字节跳动里面的大量微服务部署小于一分钟,在本地开发中修改一条代码,也可以在一秒钟左右增量编译完成,这个速度是C++和Java开发者难以想象的。
- 跨平台:Go语言可以再Windows系统、Linux系统、MacOS系统下运行。除此之外Go语言还能再很多奇奇怪怪的设备上运行,比如说路由器,树莓派。还具有交叉编译能力,无序配置交叉配置环境。
- 垃圾回收:即在编写代码的时候不用担心其内存分配释放,可以安心专注于业务开发。
1.2 哪些公司在使用Go语言
- ByteDance
- Tencent
- .............