Go 入门指南(The way to Go)应用这些高级概念和技巧。 在本书的第一部分,我们将会讨论 Go 语言的起源(第 1 章),以及如何安装 Go 语言(第 2 章)和开发 环境(第 3 章)。 在本书的第二部分,我们将会带领你贯穿 Go 语言的核心思想,譬如简单与复杂类型(第 4、7、8 章), 控制结构(第 5 章),函数(第 6 章),结构与方法(第 10 章)和接口(第 11 章)。我们会对 Go 语 言的函数式和面向对象编程进行透彻的讲解,包括如何使用 goroutine 和 channel 进行并发 和多核应用的基本技巧的讲解(第 14 章)。最后,我们会讨论如何将 Go 语言应用到分布式和 Web 应用 中的相关网络技巧(第 15 章)。 我们会在本书的第四部分向你展示许多 Go 语言的开发模式和一些编码规范,以及一些非常有用的代码片 段(第 18 章)。在前面章节完成对所有的 Go 语言技巧的学习之后,你将会学习如何构造一个完整 Go 语言项目(第 语言的编码规范,了解和使用这些已经被广泛认同的规范应该是你学习阶 段最重要的实践。我会在书中尽量使用已经讲解的概念或者技巧来解释相关的代码示例,以避免你在不了 解某些高级概念的情况下而感到迷茫。 我们通过 227 个完整的代码示例和书中的解释说明来对所有涉及到的概念和技巧进行彻底的讲解,你可以 Go入门指南 - 2 - 本文档使用 看云 构建 下载这些代码到你的电脑上运行,从而加深对概念的理解。0 码力 | 380 页 | 2.97 MB | 1 年前3
Go 入门指南(The way to Go)Go 编程语言的爱好者来说,这本书无疑是最适合你的一本书籍,这里包含了当前最全面的学习资源。本书 通过对官方的在线文档、名人博客、书籍、相关文章以及演讲的资料收集和整理,并结合我自身在软件工程、编程语 言和数据库开发的授课经验,将这些零碎的知识点组织成系统化的概念和技术分类来进行讲解。 随着软件规模的不断扩大,诸多的学者和谷歌的开发者们在公司内部的软件开发过程中开始经历大量的挫折,在诸多 问 goroutine 和 channel 时有多少种不同的模式, 如何在 Go 语言中使用谷歌 API,如何操作内存,如何在 Go 语言中进行程序测试和如何使用模板来开发 Web 应 用这些高级概念和技巧。 在本书的第一部分,我们将会讨论 Go 语言的起源(第 1 章),以及如何安装 Go 语言(第 2 章)和开发环境 前言 用更少的代码,更短的编译时间,创建运行更快的程序,享受更多的乐 趣 goroutine 和 channel 进行并发和多核应用的基 本技巧的讲解(第 14 章)。最后,我们会讨论如何将 Go 语言应用到分布式和 Web 应用中的相关网络技巧(第 15 章)。 我们会在本书的第四部分向你展示许多 Go 语言的开发模式和一些编码规范,以及一些非常有用的代码片段(第 18 章)。在前面章节完成对所有的 Go 语言技巧的学习之后,你将会学习如何构造一个完整 Go 语言项目(第0 码力 | 466 页 | 4.44 MB | 1 年前3
Go Web编程links links 目录 上一节: GOPATH与工作空间 下一节: Go开发工具 17 1.4 Go开发工具 1.4 Go开发工具 本节我将介绍几个开发工具,它们都具有自动化提示,自动化fmt功能。因为它们都是跨平台的,所以安装步骤之类 的都是通用的。 LiteIDE LiteIDE LiteIDE是一款专门为Go语言开发的跨平台轻量级集成开发环境(IDE),由visualfc编写。 合,那么为什么选择这个组合呢? 自动化提示代码,如下图所示 20 图1.5 sublime自动化提示界面 保存的时候自动格式化代码,让您编写的代码更加美观,符合Go的标准。 支持项目管理 21 图1.6 sublime项目管理界面 支持语法高亮 Sublime Text 2可免费使用,只是保存次数达到一定数量之后就会提示是否购买,点击取消继续用,和正式 注册版本没有任何区别。 接下来就开始讲如何安装,下载Sublime 根据自己相应的系统下载相应的版本,然后打开Sublime,对于不熟悉Sublime的同学可以先看一下这篇文章Sublime Text 2 入门及技巧 1. 打开之后安装 Package Control:Ctrl+` 打开命令行,执行如下代码: import urllib2,os; pf='Package Control.sublime-package';0 码力 | 295 页 | 5.91 MB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a第46章:一些简单的总结 第47章:关于Go中的nil 第48章:类型转换、赋值和值比较规则大全 第49章:Go中的一些语法/语义例外 第50章:Go细节101 第51章:Go问答101 第52章:Go技巧101 第53章:更多关于Go的知识 本书由老貘历时三年写成。目前本书仍在不断改进和增容中。你的赞赏是本书和 Go101.org网站不断增容和维护的动力。 赞赏 (请搜索关注微信公众号“Go ShuMin、 Bai Kai、 modood、 xmwilldo、 TheChalice和zonesan等。 第1章:致谢 7 特别感谢白凯同学帮助我翻译了《细节101》、《问答101》和《技巧101》三篇文 章。 我很抱歉如果上述列表遗漏了某个曾经给予我帮助的成员。 Go社区有如此多友善和 富有创造性的成员,以至于上述列表肯定遗漏了某些成员。 感谢所有曾经直接或者 间接,有意或者无意帮助过我完成这本书的Go社区成员。 符(operator)运算来完成的。 大多数高级编程语言都支持一些条件和循环控制语 句。 这些条件和循环控制语句可以看作是特殊的操作。 它们的语法接近于人类语 言,因此一个人写的代码很容易被其他人理解。 在大多数高级编程语言中,数据通常被抽象为各种类型(type)和值(value)。 一个类型可以看作是值的模板。一个值可以看作是某个类型的实例。 大多数编程语 言支持自定义类型和若干预声明类型(即内置类型)。 一门语言的类型系统可以说0 码力 | 591 页 | 21.40 MB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a第46章:一些简单的总结 第47章:关于Go中的nil 第48章:类型转换、赋值和值比较规则大全 第49章:Go中的一些语法/语义例外 第50章:Go细节101 第51章:Go问答101 第52章:Go技巧101 第53章:更多关于Go的知识 本书由老貘 ? 历时三年写成。目前本书仍在不断改进和增容中。你的赞赏是 本书和Go101.org网站不断增容和维护的动力。 赞赏 (请搜索关注微信公众号“Go 给Go程序员们留下了一些困惑。 所以你认为简单不是Go的卖点吗? 我认为,至少简单不是Go的主要卖点。毕竟有一些其它语言确实比Go简单。 另一方面,虽然Go是一门特性丰富的语言,但是它却也不是一门复杂的语 言。 一个持有积极的学习态度的Go新手程序员可以在一年内精通Go编程。 那你觉得Go的卖点是什么呢? 我个人的观点是,做为一门静态语言,Go却和很多动态脚本语言一样得灵活 是Go的主要卖点。 《Go语言101》做了什么来消除Go编程中可能 出现的困惑? 《Go语言101》做了以下这些方面来试图清除很多Go编程中可能遇到的困惑。 1. 着重于基本概念和术语的解释。如果不理解或者不熟悉这些基本概念和术 语,就很难完全理解Go中的很多规则和高层次的概念。 2. 使用了值部(value part)这个术语并单独用一篇文章来解释值部。 这篇 文章揭示了某些类型的底层结构,从而使得Go程序员可以更深入地理解0 码力 | 821 页 | 956.82 KB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a第46章:一些简单的总结 第47章:关于Go中的nil 第48章:类型转换、赋值和值比较规则大全 第49章:Go中的一些语法/语义例外 第50章:Go细节101 第51章:Go问答101 第52章:Go技巧101 第53章:更多关于Go的知识 本书由老貘 历时三年写成。目前本书仍在不断改进和增容中。你的赞赏是本 书和Go101.org网站不断增容和维护的动力。 (请搜索关注微信公众号“Go 《Go语言101》做了什么来消除Go编程中可能出现的困惑? 《Go语言101》做了以下这些方面来试图清除很多Go编程中可能遇到的困惑。 1. 着重于基本概念和术语的解释。如果不理解或者不熟悉这些基本概念和术 语,就很难完全理解Go中的很多规则和高层次的概念。 2. 使用了值部(value part)这个术语并单独用一篇文章来解释值部。 这篇文 章揭示了某些类型的底层结构,从而使得Go程序员可以更深入地理解这些 ZhaoYan、 Li ShuMin、 Bai Kai、 modood、 xmwilldo、 TheChalice和zonesan等。 特别感谢白凯同学帮助我翻译了《细节101》、《问答101》和《技巧101》三篇 文章。 我很抱歉如果上述列表遗漏了某个曾经给予我帮助的成员。 Go社区有如此多友 善和富有创造性的成员,以至于上述列表肯定遗漏了某些成员。 感谢所有曾经 直接或者间接,有意或者无意帮助过我完成这本书的Go社区成员。0 码力 | 608 页 | 1.08 MB | 1 年前3
Hello 算法 1.0.0b1 Golang版gltianwen, liuxjerry, yabo083. 本书的代码审阅工作由 justin‑tse, krahets, nuomi1, Reanon, sjinzh 完成,感谢他们的辛勤付出! 推荐语 “一本通俗易懂的数据结构与算法入门书,引导读者手脑并用地学习,强烈推荐算法初学者阅读。” ——邓俊辉,清华大学计算机系教授 “如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 下计数偷懒技巧: 1. 跳过数量与 ? 无关的操作。因为他们都是 ?(?) 中的常数项,对时间复杂度不产生影响。 2. 省略所有系数。例如,循环 2? 次、5? + 1 次、⋯⋯,都可以化简记为 ? 次,因为 ? 前面的系数对时间 复杂度也不产生影响。 3. 循环嵌套时使用乘法。总操作数量等于外层循环和内层循环操作数量之积,每一层循环依然可以分别套 用上述 1. 和 2. 技巧。 以下 以下示例展示了使用上述技巧前、后的统计结果。 ?(?) = 2?(? + 1) + (5? + 1) + 2 完整统计 (‑.‑|||) = 2?2 + 7? + 3 ?(?) = ?2 + ? 偷懒统计 (o.O) 最终,两者都能推出相同的时间复杂度结果,即 ?(?2) 。 func algorithm(n int) { a := 1 // +0(技巧 1) a = a + n // +0(技巧0 码力 | 190 页 | 14.71 MB | 1 年前3
Hello 算法 1.0.0b2 Golang版gltianwen, liuxjerry, yabo083. 本书的代码审阅工作由 justin‑tse, krahets, nuomi1, Reanon, sjinzh 完成,感谢他们的辛勤付出! 推荐语 “一本通俗易懂的数据结构与算法入门书,引导读者手脑并用地学习,强烈推荐算法初学者阅读。” ——邓俊辉,清华大学计算机系教授 “如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 下计数偷懒技巧: 1. 跳过数量与 ? 无关的操作。因为他们都是 ?(?) 中的常数项,对时间复杂度不产生影响。 2. 省略所有系数。例如,循环 2? 次、5? + 1 次、⋯⋯,都可以化简记为 ? 次,因为 ? 前面的系数对时间 复杂度也不产生影响。 3. 循环嵌套时使用乘法。总操作数量等于外层循环和内层循环操作数量之积,每一层循环依然可以分别套 用上述 1. 和 2. 技巧。 以下 以下示例展示了使用上述技巧前、后的统计结果。 ?(?) = 2?(? + 1) + (5? + 1) + 2 完整统计 (‑.‑|||) = 2?2 + 7? + 3 ?(?) = ?2 + ? 偷懒统计 (o.O) 最终,两者都能推出相同的时间复杂度结果,即 ?(?2) 。 func algorithm(n int) { a := 1 // +0(技巧 1) a = a + n // +0(技巧0 码力 | 202 页 | 15.73 MB | 1 年前3
Hello 算法 1.0.0b4 Golang版hpstory, justin‐tse, krahets, nuomi1, Reanon, sjinzh 完 成(按照首字母顺序排列)。感谢他们付出的时间与精力,正是他们确保了各语言代码的规范与统一。 推荐语 “一本通俗易懂的数据结构与算法入门书,引导读者手脑并用地学习,强烈推荐算法初学者阅读。” ——邓俊辉,清华大学计算机系教授 “如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 结出以下计数简化技巧: 1. 忽略与 ? 无关的操作。因为它们都是 ?(?) 中的常数项,对时间复杂度不产生影响。 2. 省略所有系数。例如,循环 2? 次、5? + 1 次等,都可以简化记为 ? 次,因为 ? 前面的系数对时间复 杂度没有影响。 3. 循环嵌套时使用乘法。总操作数量等于外层循环和内层循环操作数量之积,每一层循环依然可以分别 套用上述 1. 和 2. 技巧。 以下示例展示了使用上述技巧前、后的统计结果。 以下示例展示了使用上述技巧前、后的统计结果。 ?(?) = 2?(? + 1) + (5? + 1) + 2 完整统计 (‑.‑|||) = 2?2 + 7? + 3 ?(?) = ?2 + ? 偷懒统计 (o.O) 最终,两者都能推出相同的时间复杂度结果,即 ?(?2) 。 func algorithm(n int) { a := 1 // +0(技巧 1) a = a + n // +0(技巧0 码力 | 347 页 | 27.40 MB | 1 年前3
Hello 算法 1.0.0b5 Golang版本书中的代码附有可一键运行的源文件,托管于 github.com/krahets/hello‑algo 仓库。动画在 PDF 内的 展示效果受限,可访问 hello‑algo.com 网页版以获得更优的阅读体验。 推荐语 “一本通俗易懂的数据结构与算法入门书,引导读者手脑并用地学习,强烈推荐算法初学者阅读。” ——邓俊辉,清华大学计算机系教授 “如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 结出以下计数简化技巧。 1. 忽略 ?(?) 中的常数项。因为它们都与 ? 无关,所以对时间复杂度不产生影响。 2. 省略所有系数。例如,循环 2? 次、5? + 1 次等,都可以简化记为 ? 次,因为 ? 前面的系数对时间复 杂度没有影响。 3. 循环嵌套时使用乘法。总操作数量等于外层循环和内层循环操作数量之积,每一层循环依然可以分别 套用第 1. 点和第 2. 点的技巧。 给定一个函数,我们可以用上述技巧来统计操作数量。 给定一个函数,我们可以用上述技巧来统计操作数量。 func algorithm(n int) { a := 1 // +0(技巧 1) a = a + n // +0(技巧 1) // +n(技巧 2) for i := 0; i < 5 * n + 1; i++ { fmt.Println(0) 第 2 章 复杂度分析 hello‑algo.com 30 } // +n*n(技巧 3) for0 码力 | 379 页 | 30.70 MB | 1 年前3
共 34 条
- 1
- 2
- 3
- 4













