编者注:学习 Go 语言 pdf
由 Google 工程师教授,从学习语言语法特性到函数式编程、并发编程等等。理论与实践相结合,有助于快速掌握 Go 语言。通过学习标准库等经典代码设计模式,启发读者深入理解Go语言的核心思想,进入Go语言开发的更高阶段。
学习目标
从基础语法到应用扩展,学习项目从单一到并发再到分布式的演进过程。
课程重点
1、函数式编程、面向接口、并发编程
2、Go语言工程
3、爬虫项目:单任务爬虫、多任务并发爬虫、分布式爬虫
简介
描述 Go 语言规范和语法细节以及开发中的常见误解。通过学习标准库等经典代码设计模式,读者可以深入理解Go语言的核心思想,进入Go语言开发的更高阶段。
本书详细讲解了Go语言数据类型、关键字、字面量、基本语法的基本概念,以及Go项目的项目构建、测试、编译、运行; goroutines和channels的深入解释。 ) 和其他与并发编程相关的概念;
还介绍了系统标准库、网络编程和第三方包。读者掌握本书内容后,即可顺利进行实际项目开发。
本书适合Go初学者和经验丰富的程序员。
学习 Go 语言相关内容分析
本书详细讲解了Go语言的基本知识点,并结合实际情况指出了可能存在的陷阱,帮助读者在学习过程中加深理解。本书还结合了流行的开源第三方包,引导读者进行更高级的实际项目开发。
本书非常适合Go语言新手仔细阅读。有一定经验的开发者也可以根据自己的情况选择一些章节阅读。
第1-4章是基础部分,主要讲解Go语言的基础知识,包括Go语言安装、基本语法、标识符、关键字、运算符、标点符号、字面量等,以及Go语言的工程。 Go 项目 Build、编译、运行等
第5-8章是中间部分,主要讲解Go语言的复合数据类型,包括数组、切片、字典(map)、结构体(struct)、指针(pointer)、函数(function)、接口和通道类型等。使用灵活的类型关键字,可以自定义各种需要的数据类型。函数提供了更直接的数据处理能力,通过 panic、recover、defer 处理错误的方式也是 Go 语言的一个典型特征。
第 9 章到第 13 章是高级部分,主要讲解结构、接口和方法,是 Go 语言简单组合思维的基础。对并发的非常友好的支持是 Go 语言的一个典型特征。 gorountine和channel的配合,加上sync包提供的一系列功能,方便我们编写支持高并发的代码。
第14到16章是扩展,主要介绍Go语言官方提供的标准库,包括OS操作、文件I/O、网络传输处理、指针相关操作、代码反射、日志等。这些包让我们快速进入实际开发。此外,还简单介绍了 MySQL 数据库以及 LevelDB 和 BoltDB 数据库的操作。
第17、18章为应用部分,主要以网络爬虫和网络框架为例,进入实际开发。网络爬虫是互联网服务中比较重要的功能。通过 Internet 抓取、分析和保存数据是程序员的一项基本能力。读者可以看到 Go 语言在这方面也很得心应手。使用轻量级 Web 框架 Gin,可以轻松构建各种 Web 服务。
自 2009 年引入 Go 以来,越来越多的公司转向 Go 进行开发。 Go 语言以语法简单、学习门槛低、上手快而著称。但是很多人上手之后发现,要写出符合 Go 语言思维的正宗代码并不容易。
作为Go语言的爱好者,在阅读系统标准库的源码或者其他知名开源包的源码时,发现Daniel对这门语言的理解非常深刻,并且代码实现别出心裁,美观大方,除了拜拜还是拜拜。所以我建议你有时间多阅读这些代码。互联网上围棋大神的标准是“理解简单和可组合的哲学”。的确,Go语言将代码的简洁性追求到了极致,在结构和接口的帮助下,组合思想可以说成为了Go的灵魂。
function、method、interface、type等名词是程序员接触较多的关键字,但在Go语言中,你会发现它们的使用更加强大和灵活。当你彻底了解了 Go 语言相关的基本概念并深刻理解了它的特点(当然,这也是本书的目的),并且随着时间的推移更多的实践和实践,相信你很快就会能够真正掌握这门学科。语言并成为一个伟大的地鼠。
这本书首次在互联网上出版。许多关注Go语言的朋友通过各种渠道提出了很多建议。在此要感谢网友Joyboo、林元鹏、Mr_RSI、magic-joker等。
这本书终于出版了。我要感谢李彦弟兄的鼓励和帮助,也感谢其他朋友和老师。感谢您的鼓励和帮助,感谢您的支持!
最后希望更多的人了解和使用Go语言,也希望读过本书的朋友多多交流。本书中的例子虽然已经在实践中运行过,但难免会出现错误和不足,请大家指出。书中的其他遗漏也在敦促读者改正。
祝大家 Gopher 愉快,编码愉快!
学习 Go 语言需要什么基础?
先放个结论吧:没你想的那么难,结束了。
这里介绍一句,说的是前几天看到一句话:现在80后真的很可怕,狠的时候什么都能学!
玩完鸡血,说说怎么学吧。
Go 语言的语法非常简洁明了。最好有C基础,再差也没关系。前提是,如果你真的想学习,你有足够的学习动力。
初学者学习Go语言首先要了解基本的语法和概念:基本数据类型、Struct、Array、map、Slice、指针、接口、map、内置函数、常用工具包等,以及底层接口和Slice的数据结构。这些不需要特别理解,我觉得自己理解和描述就够了,关键在于实践和应用练习。
然后学习文件操作,网络编程,锁,协程,对象序列化和反序列化,各种数据格式的封装等等,这是进阶的内容。
学习了以上两个阶段后,可以自己联系一些框架,然后搭建一个web服务器做一些测试和练习。 Go中有很多各种各样的框架,在github上有很多超过10,000个star。这里有几个:beego、iris、gin、echo、revel等,学习一些使用方法很有帮助。
在做第三阶段的过程中,自然而然的接触到了数据库、io、操作系统、网络、存储优化,需要安排很多的地雷。至此,已经能够进行模块化开发,满足正式开发任务的需要。
以上是一个从Java转过来的活跃goer的感想,供大家讨论。
我们来说说学习资料的问题。
我们码农社区注重溯源,所以最正宗的还是去官方哪里找线索。
去官网:https://golang.org/
Go官方文档:https://golang.org/doc/ 这里是Go语言学习者的文档,可以参考学习。
中文围棋社区:https://studygolang.com/ 这是一种社区形式,适合有一定基础后讨论一些技术问题或交流意见。这是一个非常好的网站。
还有书籍:基础的可以看《快乐学习Go语言》,一本关于基础语法的书;进阶的可以阅读围棋之神郝林的《围棋并发编程实战》。
还有视频教程:各大付费网站上也有很多关于 Go 框架的视频教程,应该也会对你有所帮助。
文件目录
/学习智库11/学习 GO 语言
| ├──学习 GO 语言 – v1.1.epub 3.0MB
声明:本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。如若本站内容侵犯了原着者的合法权益,可联系我们进行处理。
暂无评论内容