Go语言圣经笔记<零>:入坑记
开始入坑Go语言,从各种渠道了解了Go语言之后,发现这个语言简直太赞了。这门语言在2009年由Ken Thompson 和 Rob Pick 以及 Robert Geiesemer一起发明,其中Ken Thompson发明了UNIX操作系统、Rob Pick设计了V8引擎和HotSpot虚拟机。发明这门语言的目的是为了解决在21世纪多核和网络化环境下越来越复杂的编程问题。接下来列一下Go语言的优秀特性
Go语言圣经中文版:https://legacy.gitbook.com/book/yar999/gopl-zh/details
系统学习Go语言的书籍:https://www.zhihu.com/question/30461290/answer/210414739
-
Go语言有着和C语言类似的语法外表,但他不仅仅是个更新的C语言,还从其他语言借鉴了很多好的想法。
-
Go语言中和并发编程相关的特性是全新的也是有效的,同时对数据抽象和面向对象编程的支持也很灵活,同时还集成了自动垃圾收集技术用于更好的管理内存。
-
Go语言尤其适合便携网络服务相关的基础设施,同时也适合开发一些工具软件和系统软件,但同时又是一个非常通用的编程语言,它还可以用在图形图像驱动编程、移动应用程序开发和机器学习、区块链等诸多领域。
-
Go语言拥有自动垃圾回收、包系统、函数作为一等公民】、词法作用域、系统调用接口、只读的UTF8字符串等;没有隐式的数值转换、没有异常、没有宏、没有函数修饰、没有县城局部存储。此外,Go语言的聚合类型(结构体和数组)可以直接操作他们的元素,只需要更少的存储空间、更少的内存分配,而且指针操作比其他间接操作的语言也更有效率。
-
Go语言的动态栈是的轻量级县城goroutine的初始栈可以很小,因此创建一个goroutine的代价很小,创建百万级的goroutine完全是可行的。
-
Go语言的标准库,提供了清晰的构建模块和公共接口,包含io操作、文本处理、图像、密码学、网络和分布式应用程序,并支持许多标准化的文件格式和编解码协议。在此基础上Go语言实现类似读写文件、文本格式化、创建图像、网络客户端和服务器通讯等日常工作异常的简洁。