Go 入门指南(The way to Go)
第2章:安装与运行环境 2.1 平台与架构 2.2 Go 环境变量 2.3 在 Linux 上安装 Go 2.4 在 Mac OS X 上安装 Go 2.5 在 Windows 上安装 Go 2.6 安装目录清单 2.7 Go 运行时(runtime) 2.8 Go 解释器 第3章:编辑器、集成开发环境与其它工具 3.1 Go 开发环境的基本要求 3.2 编辑器和集成开发环境 3.3 调试器 书栈(BookStack.CN) 构建 9.4 精密计算和 big 包 9.5 自定义包和可见性 9.6 为自定义包使用 godoc 9.7 使用 go install 安装自定义包 9.8 自定义包的目录结构、go install 和 go test 9.9 通过 Git 打包和安装 9.10 Go 的外部包和项目 9.11 在 Go 程序中使用外部库 第10章:结构(struct)与方法(method) 通过对官方的在线文档、名人博客、书籍、相关文章以及演讲的资料收集和整理,并结合我自身在软件工程、编程语 言和数据库开发的授课经验,将这些零碎的知识点组织成系统化的概念和技术分类来进行讲解。 随着软件规模的不断扩大,诸多的学者和谷歌的开发者们在公司内部的软件开发过程中开始经历大量的挫折,在诸多 问题上都不能给出令人满意的解决方案,尤其是在使用 C++ 来开发大型的服务端软件时,情况更是不容乐观。由于 二进制文件一般都是非常巨0 码力 | 466 页 | 4.44 MB | 1 年前3Go 入门指南(The way to Go)
相关文章以及演讲的资料收集和整理,并结合我自 身在软件工程、编程语言和数据库开发的授课经验,将这些零碎的知识点组织成系统化的概念和技术分类 来进行讲解。 随着软件规模的不断扩大,诸多的学者和谷歌的开发者们在公司内部的软件开发过程中开始经历大量的挫 折,在诸多问题上都不能给出令人满意的解决方案,尤其是在使用 C++ 来开发大型的服务端软件时,情 况更是不容乐观。由于二进制文件一般都是非常巨 C++ 在软件开发的重 要地位,并在实际开发过程中忍受着它所带来的令人头疼的一些问题。因此学者们坐下来总结出了现在生 产环境与软件开发之间的主要矛盾,并尝试设计一门全新的编程语言来解决这些问题。 以下就是他们讨论得出的对编程语言的设计要求: 能够以更快的速度开发软件 开发出的软件能够很好地在现代的多核计算机上工作 开发出的软件能够很好地在网络环境下工作 使人们能够享受软件开发的过程 语言就在这样的环境下诞生了,它让人感觉像是 Python 或 Ruby 这样的动态语言,但却又拥有像 C 或者 Java 这类语言的高性能和安全性。 Go 语言出现的目的是希望在编程领域创造最实用的方式来进行软件开发。它并不是要用奇怪的语法和晦 涩难懂的概念来从根本上推翻已有的编程语言,而是建立并改善了 C、Java、C# 中的许多语法风格。它提 倡通过接口来针对面向对象编程,通过 goroutine 和0 码力 | 380 页 | 2.97 MB | 1 年前3Go Web编程
md 11.3.md。 代码文件 代码文件 代码文件置于src目录之下。每小节代码按目录存放。如第11章的第3节的代码保存于src/11.3/ src/11.3/目录下。在正文中按 需要添加代码。 格式规范 格式规范 正文 正文 请参看已有章节的规范,要注意的是,每个章节在底部都需要有一个links节,包含“目录”,“上一节”和“下一 节”的链接。 代码 代码 代码要go 它可以在一台计算机上用几秒钟的时间编译一个大型的Go程序。 Go为软件构造提供了一种模型,它使依赖分析更加容易,且避免了大部分C风格include文件与库的开头。 Go是静态类型的语言,它的类型系统没有层级。因此用户不需要在定义类型之间的关系上花费时间,这样感 觉起来比典型的面向对象语言更轻量级。 Go完全是垃圾回收型的语言,并为并发执行与通信提供了基本的支持。 按照其设计,Go打算为多核机器上系统软件的构造提供一种方法。 Go 在本章中,我们将讲述Go的安装方法,以及如何配置项目信息。 目录 目录 links links 目录 下一节: Go安装 6 1.1 Go 安装 1.1 Go 安装 Go的三种安装方式 Go的三种安装方式 Go有多种安装方式,你可以选择自己喜欢的。这里我们介绍三种最常见的安装方式: Go源码安装:这是一种标准的软件安装方式。对于经常使用Unix类系统的用户,尤其对于开发者来说,从源0 码力 | 295 页 | 5.91 MB | 1 年前3Golang 101(Go语言101 中文版) v1.21.a
目录 第0章:关于《Go语言101》 - 为什么写这本书 第1章:致谢 第2章:Go语言简介 - 为什么Go语言值得学习 第3章:Go官方工具链 - 如何编译和运行Go程序 Go编程入门 第4章:程序源代码基本元素介绍 第5章:关键字和标识符 第6章:基本类型和它们的字面量表示 第7章:常量和变量 - 顺便介绍了类型不确定值和类型推断 第8章:运算操作符 - 顺便介绍了更多的类型推断规则 另外也要感谢Bootstrap CSS框架 ? 、jQuery ? /code prettify ? /prism ? JavaSript库、go-epub ? 库和calibre ? 软件的作者。 这些软件用于构建 g101.org网站和《Go语言101》电子书。 感谢Adam Chalkley对电子书制作过程提出的改进建议。 特别感谢Renee French ? 和Rob Pike。 本书电子版和纸质版封面中的生动的图 Go官方工具链的版本和其所支持的最高Go语言版本是一致的。 比如,Go官方 工具链1.21.x版本支持从1.0到1.21的所有Go语言版本。 为了从任意目录运行Go官方工具链中工具命令(通过go命令), Go官方工具 链安装目录下的bin子目录路径必须配置在PATH环境变量中。 当使用安装程序 安装Go官方工具链时,安装程序很可能已经自动地将此配置好了。 Go官方工具链近来的版本均支持一个称为Go模块(Go0 码力 | 821 页 | 956.82 KB | 1 年前3Golang 101(Go语言101 中文版) v1.21.a
目录 第0章:关于《Go语言101》 - 为什么写这本书 第1章:致谢 第2章:Go语言简介 - 为什么Go语言值得学习 第3章:Go官方工具链 - 如何编译和运行Go程序 Go编程入门 第4章:程序源代码基本元素介绍 第5章:关键字和标识符 第6章:基本类型和它们的字面量表示 第7章:常量和变量 - 顺便介绍了类型不确定值和类型推断 第8章:运算操作符 - 顺便介绍了更多的类型推断规则 的Go社区成员。 另外也要感谢Bootstrap CSS框架 、jQuery /code prettify /prism JavaSript 库、go-epub 库和calibre 软件的作者。 这些软件用于构建g101.org网站和 《Go语言101》电子书。 感谢Adam Chalkley对电子书制作过程提出的改进建议。 特别感谢Renee French 和Rob Pike。 本书电子版和纸质版封面中的生动的图片 Go官方工具链的版本和其所支持的最高Go语言版本是一致的。 比如,Go官方 工具链1.21.x版本支持从1.0到1.21的所有Go语言版本。 为了从任意目录运行Go官方工具链中工具命令(通过go命令), Go官方工具 链安装目录下的bin子目录路径必须配置在PATH环境变量中。 当使用安装程序 安装Go官方工具链时,安装程序很可能已经自动地将此配置好了。 Go官方工具链近来的版本均支持一个称为Go模块(Go0 码力 | 608 页 | 1.08 MB | 1 年前3Golang 101(Go语言101 中文版) v1.21.a
目录 1 目录 第0章:关于《Go语言101》 - 为什么写这本书 第1章:致谢 第2章:Go语言简介 - 为什么Go语言值得学习 第3章:Go官方工具链 - 如何编译和运行Go程序 Go编程入门 第4章:程序源代码基本元素介绍 第5章:关键字和标识符 第6章:基本类型和它们的字面量表示 第7章:常量和变量 - 顺便介绍了类型不确定值和类型推断 第8章:运算操作符 - 顺便介绍了更多的类型推断规则 第28章:代码断行规则 第29章:更多关于延迟函数调用的知识点 第30章:一些恐慌/恢复用例 第31章:详解panic/recover原理 - 也解释了什么是“函数退出阶段” 第32章:代码块和标识符作用域 目录 2 第33章:表达式估值顺序规则 第34章:值复制成本 第35章:边界检查消除 并发编程 第36章:并发同步概述 第37章:通道用例大全 第38章:如何优雅地关闭通道 第39章:其它并发同步技术 com/) JavaSript库、go-epub(https://github.com/bmaupin/go-epub)库和calibre (https://calibre-ebook.com/)软件的作者。 这些软件用于构建g101.org网站和 《Go语言101》电子书。 感谢Adam Chalkley对电子书制作过程提出的改进建议。 特别感谢Renee French(http://reneefrench0 码力 | 591 页 | 21.40 MB | 1 年前32.1.3 如何用Go模拟CPU
如何用Go模拟CPU 蒙卓 华为 – 2012实验室 工程师 成为盘古? 让这个世界里面的人(程序)无法察觉 这个世界是创造出来的 目录 • 计算机的演化历史 – 硬件计算到冯诺伊曼架构 • 构建虚拟世界 – MOS 6502 • 控制单元(control unit) • 运算逻辑单元(arithmetic logic unit) • 6502汇编器与链接器 • 未来目标 1970年程序员 所有发明都是有基础的 • 任何的方便都是有代价的:抽象层概念 • 抽象意味着更慢 • 为啥现在程序员好像更弱了? • 因为我们处在最好也是最坏的时代 • 抽象多且环环嵌套 • 硬件过于复杂 • 软件基于操作系统等复杂概念 • 真的快且便宜 Go模拟CPU • 如何用Go实现冯诺伊曼架构CPU? • 简单:一个循环+一个大数组 读取当前指令 执行指令 下一条指令 模拟目标 – MOS 65020 码力 | 42 页 | 7.10 MB | 1 年前3Hello 算法 1.1.0 Go版
大。 综上,我们不能简单地确定哪种实现更加节省内存,需要针对具体情况进行分析。 第 5 章 栈与队列 hello‑algo.com 97 5.1.4 栈的典型应用 ‧ 浏览器中的后退与前进、软件中的撤销与反撤销。每当我们打开新的网页,浏览器就会对上一个网页执 行入栈,这样我们就可以通过后退操作回到上一个网页。后退操作实际上是在执行出栈。如果要同时支 持后退和前进,那么需要两个栈来配合实现。 这两者的所有应用场景,同时提供更高的自由度。 我们知道,软件的“撤销”功能通常使用栈来实现:系统将每次更改操作 push 到栈中,然后通过 pop 实现撤 销。然而,考虑到系统资源的限制,软件通常会限制撤销的步数(例如仅允许保存 50 步)。当栈的长度超过 第 5 章 栈与队列 hello‑algo.com 111 50 时,软件需要在栈底(队首)执行删除操作。但栈无法实现该功能,此时就需要使用双向队列来替代栈。请 刷新仓库网页,点击“Create pull request”按钮即可发起拉取请求。 第 16 章 附录 hello‑algo.com 371 3. Docker 部署 在 hello-algo 根目录下,执行以下 Docker 脚本,即可在 http://localhost:8000 访问本项目: docker-compose up -d 使用以下命令即可删除部署: docker-compose0 码力 | 383 页 | 18.48 MB | 1 年前3Hello 算法 1.0.0 Golang版
大。 综上,我们不能简单地确定哪种实现更加节省内存,需要针对具体情况进行分析。 第 5 章 栈与队列 hello‑algo.com 97 5.1.4 栈的典型应用 ‧ 浏览器中的后退与前进、软件中的撤销与反撤销。每当我们打开新的网页,浏览器就会对上一个网页执 行入栈,这样我们就可以通过后退操作回到上一个网页。后退操作实际上是在执行出栈。如果要同时支 持后退和前进,那么需要两个栈来配合实现。 这两者的所有应用场景,同时提供更高的自由度。 我们知道,软件的“撤销”功能通常使用栈来实现:系统将每次更改操作 push 到栈中,然后通过 pop 实现撤 销。然而,考虑到系统资源的限制,软件通常会限制撤销的步数(例如仅允许保存 50 步)。当栈的长度超过 第 5 章 栈与队列 hello‑algo.com 111 50 时,软件需要在栈底(队首)执行删除操作。但栈无法实现该功能,此时就需要使用双向队列来替代栈。请 刷新仓库网页,点击“Create pull request”按钮即可发起拉取请求。 第 16 章 附录 hello‑algo.com 373 3. Docker 部署 在 hello-algo 根目录下,执行以下 Docker 脚本,即可在 http://localhost:8000 访问本项目: docker-compose up -d 使用以下命令即可删除部署: docker-compose0 码力 | 382 页 | 17.60 MB | 1 年前3Hello 算法 1.0.0b5 Golang版
然而,由于链表节点需要额外存储指针,因此链表节点占用的空间相对较大。 综上,我们不能简单地确定哪种实现更加节省内存,需要针对具体情况进行分析。 5.1.4 栈典型应用 ‧ 浏览器中的后退与前进、软件中的撤销与反撤销。每当我们打开新的网页,浏览器就会将上一个网页执 行入栈,这样我们就可以通过后退操作回到上一页面。后退操作实际上是在执行出栈。如果要同时支持 后退和前进,那么需要两个栈来配合实现。 这两者的所有应用场景,同时提供更高的自由度。 我们知道,软件的“撤销”功能通常使用栈来实现:系统将每次更改操作 push 到栈中,然后通过 pop 实现撤 销。然而,考虑到系统资源的限制,软件通常会限制撤销的步数(例如仅允许保存 50 步)。当栈的长度超过 第 5 章 栈与队列 hello‑algo.com 105 50 时,软件需要在栈底(即队首)执行删除操作。但栈无法实现该功能,此时就需要使用双向队列来替代栈。 将本地所做更改 Commit ,然后 Push 至远程仓库。 5. 刷新仓库网页,点击“Create pull request”按钮即可发起拉取请求。 3. Docker 部署 在 hello-algo 根目录下,执行以下 Docker 脚本,即可在 http://localhost:8000 访问本项目。 docker-compose up -d 使用以下命令即可删除部署。 docker-compose0 码力 | 379 页 | 30.70 MB | 1 年前3
共 46 条
- 1
- 2
- 3
- 4
- 5