go网络编程pdf_编程 | Go语言完全自学手册

Go是一种新的语言,一种并发的、带垃圾回收的、快速编译的语言,它结合了解释型语言的游刃有余,动态类型语言的开发效率,以及静态类型的安全性。它也打算成为现代的,支持网络与多核计算的语言。要满足这些目标,需要解决一些语言上的问题:一个富有表达能力但轻量级的类型系统,并发与垃圾回收机制,严格的依赖规范等等。这些无法通过库或工具解决好,因此Go也就应运而生了。

关于Go语言详细内容:(点击下方“了解更多”立即学习)

17c2e92a05e9cc0ba19ef104b8bc68ff.png

Go它具有以下特点:

  • 它可以在一台计算机上用几秒钟的时间编译一个大型的Go程序。
  • Go为软件构造提供了一种模型,它使依赖分析更加容易,且避免了大部分C风格include文件与库的开头。
  • Go是静态类型的语言,它的类型系统没有层级。因此用户不需要在定义类型之间的关系上花费时间,这样感觉起来比典型的面向对象语言更轻量级。
  • Go完全是垃圾回收型的语言,并为并发执行与通信提供了基本的支持。按照其设计,Go打算为多核机器上系统软件的构造提供一种方法。

目标:

Go的目标是希望提升现有编程语言对程序库等依赖性(dependency)的管理,这些软件元素会被应用程序反复调用。由于存在并行编程模式,因此这一语言也被设计用来解决多处理器的任务。

谷歌大约2007年开始开发Go,并于2008年投入了一组全职员工。谷歌当初将该语言设计为一款系统编程语言,可以被用于网络服务器、存储系统和数据库中。但是谷歌认为,该语言还有望被用于其它领域。

应用:

虽然Go尚未成熟,但谷歌旗下App Engine和其他部分产品已经开始使用go语言来编写。正因如此,谷歌才需要外部编程人员的协助。

派克说:我们需要更好的程序库和工具,而开源社区能够在这些方面为我们提供很大的帮助。

通过创建新的编程语言,谷歌将继续拓展计算领域的各个方面,从而促进这些领域的发展。这同样也是谷歌开发Android操作系统、Chrome浏览器和Chrome OS的动机所在。

阿里云开发者社区全面升级,一站式体验,用得更爽:https://developer.aliyun.com?spm=a2c41.12958151.0.0(复制网址链接到浏览器,记得收藏)

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
内容简介 · · · · · · 这本书从整体的写作风格来说,会以介绍 Go 语言特性为主,示例则尽量采用作者平常的实践,而不是一个没有太大实际意义的语法示范样例。 本书作者背景极强,许式伟为原金山WPS首席架构师、曾是盛大创新院研究员,目前是国内Go语言实践圈子公认的Go语言专家。参与本书写作的几位作者都是实际用Go语言开发的项目的开发人员,有较强的实战经验。 本书以介绍Go语言特性为主,示例则尽量采用作者开发团队平常的实践,内容涉及内存管理(堆和栈)、错误处理、OOP、并发编程等关键话题。 这本书面向的读者是所有打算用Go语言的开发者,主要包括目前使用C、C++、Java、C#的开发人员,甚至一些Python、PHP开发人员也可能转为 Go 程序员。 目录 · · · · · · 序 为什么我们需要一门新的语言? 第1章 初识Go语言 1.1 Go语言简史 1.2 语言特性 1.3 “Hello, world!” 1.4 编译环境 1.5 开发工具 1.6 工程管理 1.7 问题追踪和调试 1.8 如何寻求帮助 本章小结 第2章 顺序编程 2.1 变量、常量和类型 2.1.1 变量 2.1.2 常量 2.1.3 类型 2.2 流程控制 2.2.1 条件语句 2.2.2 选择语句 2.2.3 循环 2.2.4 跳转语句 2.3 函数 2.3.1 函数调用 2.3.2 不定参数 2.3.3 多返回值 2.3.4 匿名函数与闭包 2.4 错误处理 2.4.1 error接口 2.4.2 defer 2.4.3 panic和recover 本章小结 第3章 面向对象编程 3.1 类型系统 3.1.1 给类型添加方法 3.1.2 值语义和引用语义 3.2 结构体 3.2.1 初始化 3.2.2 匿名组合 3.2.3 成员可访问性 3.3 接口 3.3.1 其他语言中的接口 3.3.2 非侵入式接口 3.3.3 接口赋值 3.3.4 接口查询 3.3.5 类型查询 3.3.6 Any类型 本章小结 第4章 工程管理 4.1 Go命令行工具 4.2 代码风格 4.3 工程组织 4.4 单元测试 4.5 文档管理 4.6 工程构建 4.7 包的管理与分发 4.8 跨平台开发 4.8.1 Go语言的跨平台能力 4.8.2 交叉编译 4.8.3 Android支持 本章小结 第5章 并发编程 5.1 初识Goroutine 5.1.1 基本用法 5.1.2 Goroutine通信 5.2 Channel 5.2.1 基本用法 5.2.2 关闭 5.2.3 变量的传递 5.2.4 单向Channel 5.2.5 超时处理 5.3 多核并行化 5.4 同步机制 5.4.1 sync包简介 5.4.2 同步锁 5.4.3 Once类型 本章小结 第6章 网络编程 6.1 HTTP编程 6.1.1 客户端编程 6.1.2 开发HTTP服务器 6.2 JSON 6.2.1 JSON简介 6.2.2 编码 6.2.3 解码 6.2.4 未知类型的解码 6.2.5 流式读写 6.3 网站开发 6.3.1 一个最简单的网站 6.3.2 开发一个相册网站 6.3.2.1 新建工程 6.3.2.2 实现网络服务 6.3.2.3 网页模板渲染 6.3.2.4 缓存 6.3.2.5 错误处理 6.3.2.6 防止程序崩溃 6.3.2.7 资源分离 6.3.2.8 重构 6.4 更多资源 本章小结 第7章 进阶话题 7.1 Go语言中的内存管理 7.2 反射 7.3 语言交互性CGO 7.4 链接符号 7.5 Goroutine实现机制 7.6 接口的奥秘 本章小结 第8章 开发工具 8.1 Go语言开发工具 8.2 gEdit 8.3 Goclipse - 使用Eclipse开发和调试Go程序 8.4 VIM 8.5 Nodepad++,Windows上的Go开发环境搭建 8.6 GolangIDE 本章小结 附录 Go语言包参考
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页