Go 入门指南(The way to Go)2.8 Go 解释器 第3章:编辑器、集成开发环境与其它工具 3.1 Go 开发环境的基本要求 3.2 编辑器和集成开发环境 3.3 调试器 3.4 构建并运行 Go 程序 3.5 格式化代码 3.6 生成代码文档 3.7 其它工具 3.8 Go 性能说明 3.9 与其它语言进行交互 第4章:基本结构和基本数据类型 4.1 文件名、关键字与标识符 4.2 Go 程序的基本结构和要素 10.2 使用工厂方法创建结构体实例 10.3 使用自定义包中的结构体 10.4 带标签的结构体 10.5 匿名字段和内嵌结构体 10.6 方法 10.7 类型的 String() 方法和格式化描述符 10.8 垃圾回收和 SetFinalizer 第11章:接口(interface)与反射(reflection) 11.1 接口是什么 11.2 接口嵌套接口 11.3 类型断言:如何检测和转换接口变量的类型 - 4 - 本文档使用 书栈(BookStack.CN) 构建 12.6 用切片读写文件 12.7 用 defer 关闭文件 12.8 使用接口的实际例子:fmt.Fprintf 12.9 格式化 JSON 数据 12.10 XML 数据格式 12.11 用 Gob 传输数据 12.12 Go 中的密码学 第13章:错误处理与测试 13.1 错误处理 13.2 运行时异常和 panic0 码力 | 466 页 | 4.44 MB | 1 年前3
Go 入门指南(The way to Go)Go 语言的官方网站是 golang.org,这个站点采用 Python 作为前端,并且使用 Go 语言自带的工具 godoc 运行在 Google App Engine 上来作为 Web 服务器提供文本内容。在官网的首页有一个功能叫做 Go Playground,是一个 Go 代码的简单编辑器的沙盒,它可以在没有安装 Go 语言的情况下在你的浏览 器中编译并运行 Go,它提供了一些示例,其中包括国际惯例 语言一个非常好的目标就是实现所谓的复杂事件处理(CEP),这项技术要求海量并行支持,高度的抽 象化和高性能。当我们进入到物联网时代,CEP 必然会成为人们关注的焦点。 但是 Go 语言同时也是一门可以用于实现一般目标的语言,例如对于文本的处理,前端展现,甚至像使用 脚本一样使用它。 值得注意的是,因为垃圾回收和自动内存分配的原因,Go 语言不适合用来开发对实时性要求很高的软 件。 越来越多的谷歌内部的大型分布式应用程序都开始使用 处理器架构的程序构建。 图2.1 gc 编译器支持的处理器架构 当你第一次看到这套命名系统的时候你会觉得很奇葩,不过这些命名都是来自于 Plan 9 项目。 g = 编译器:将源代码编译为项目代码(程序文本) l = 链接器:将项目代码链接到可执行的二进制文件(机器代码) (相关的 C 编译器名称为 6c、8c 和 5c,相关的汇编器名称为 6a、8a 和 5a) 标记(Flags) 是指可以通过0 码力 | 380 页 | 2.97 MB | 1 年前3
2.1 gofmt 的文化演变4/21/2015 gofmt 的文化演变 http://127.0.0.1:3999/gofmt-cn.slide#1 2/34 gofmt Go源代码格式化工具 定义了“标准“格式 golang.org代码库中所有提交的Go代码都必须通过gofmt格式化过 除了gofmt之外,相同功能可以通过go/format库获得 不需要设置! 4/21/2015 gofmt 的文化演变 http://127 的文化演变 http://127.0.0.1:3999/gofmt-cn.slide#1 5/34 事实上 在2007年,没人喜欢代码格式器 例外:IDE强制的格式化 但是:很多程序员不用IDE... 问题:如果是格式化太具有毁坏性,那么就没有人会用 被忽视的观点:“刚刚好“的,统一化的格式是好过于各种不同的格式的。 规范的价值在于:整齐划一,而不是完美 4/21/2015 gofmt 处理注释是很难的 语言本身也会增加很多额外的复杂度(比如,C的宏) 4/21/2015 gofmt 的文化演变 http://127.0.0.1:3999/gofmt-cn.slide#1 7/34 格式化Go 4/21/2015 gofmt 的文化演变 http://127.0.0.1:3999/gofmt-cn.slide#1 8/34 尽量保证其简单 小的语言能让事情变得简单 不要为行长度烦恼0 码力 | 34 页 | 9.97 MB | 1 年前3
Go Web编程小结 6.session和数据存储 6.1 session和cookie 6.2 Go如何使用session 6.3 session存储 6.4 预防session劫持 6.5 小结 7.文本文件处理 7.1 XML处理 7.2 JSON处理 7.3 正则处理 7.4 模板处理 7.5 文件操作 7.6 字符串处理 7.7 小结 8.Web服务 8.1 Socket编程 8.2 将不能编译通过,为了减少浪费在排版上的时间,go工具集中提供了一个go fmt命令 它可以帮你格式化你写好的代 码文件,使你写代码的时候不需要关心格式,你只需要在写完之后执行go fmt <文件名>.go,你的代码就被修改成 了标准格式,但是我平常很少用到这个命令,因为开发工具里面一般都带了保存时候自动格式化功能,这个功能其实 在底层就是调用了go fmt。接下来的一节我将讲述两个工具,这两个工具都自带了保存文件时自动化go 自带了保存文件时自动化go fmt功能。 使用go fmt命令,更多时候是用gofmt,而且需要参数-w,否则格式化结果不会写入文件。gofmt -w src,可以格式 化整个项目。 go get go get 这个命令是用来动态获取远程代码包的,目前支持的有BitBucket、GitHub、Google Code和Launchpad。这个命令在 内部实际上分成了两步操作:第一步是下载源码包,第二步是执行go0 码力 | 295 页 | 5.91 MB | 1 年前3
Golang 入门笔记编码标识 Unicode 文本。 Go 的字符串不同,它是由字节组成的。 如果需要存储单个的字符串字母,一般使用 byte 来保存。 我们直接输出 byte 的时候他是直接输出了字符的码值 如果我们需要输出对应的字符,需要格式化输出 测试案例 实验案例 注意事项(使用细节) 1. Golang 字符串的字节使用 UTF-8编码进行表示 Unicode 文本,这样golang 统一适用了 语言的字符串使用 UTF-8(英文字母1个字节,汉字3个字节) 4. 在 Go中, 字符的本质是一个整数, 直接输出的时,应该是字符对应的 UTF-8 码值。 5. 可以直接给某个变量赋一个数字,然后按照格式化输出时 %c, 会输出该字符串对饮的 unicode 字符 6. 字符类型可以进行运算的,相当于一个函数,因为他们都有对应的 Unicode 码 字符类型的本质 1. 字符型 存储到计算机中,需要讲字符对应的码值(整数)找出来0 码力 | 2 页 | 511.29 KB | 1 年前3
Hello 算法 1.0.0b4 Golang版章“数组与链表”,然后再回头理解物理结构 的含义。数组与链表是其他所有数据结构的基石,建议你投入更多时间深入了解这两种基本 数据结构。 3.2. 基本数据类型 谈及计算机中的数据,我们会想到文本、图片、视频、语音、3D 模型等各种形式。尽管这些数据的组织形式 各异,但它们都由各种基本数据类型构成。 基本数据类型是 CPU 可以直接进行运算的类型,在算法中直接被使用。它包括: ‧ 整数类型 Unicode 是一种字符集标准,本质上是给每个字符分配一个编号(称为“码点”),但它并没有规定在计算机 中如何存储这些字符码点。我们不禁会问:当多种长度的 Unicode 码点同时出现在同一个文本中时,系统 如何解析字符?例如,给定一个长度为 2 字节的编码,系统如何确认它是一个 2 字节的字符还是两个 1 字节 的字符? 对于以上问题,一种直接的解决方案是将所有字符存储为等长的编码。如下图所示,“Hello”中的每个字符 字节长度。这样系统就可以每隔 2 字节解析一个字符,恢复出这个短语的内容了。 Figure 3‑7. Unicode 编码示例 然而,ASCII 码已经向我们证明,编码英文只需要 1 字节。若采用上述方案,英文文本占用空间的大小将会 是 ASCII 编码下大小的 2 倍,非常浪费内存空间。因此,我们需要一种更加高效的 Unicode 编码方法。 3. 数据结构 hello‑algo.com 48 3.40 码力 | 347 页 | 27.40 MB | 1 年前3
Hello 算法 1.1.0 Go版配内存实现长度变化,从而具备 一定的“动态性”。 Tip 如果你感觉物理结构理解起来有困难,建议先阅读下一章,然后再回顾本节内容。 3.2 基本数据类型 当谈及计算机中的数据时,我们会想到文本、图片、视频、语音、3D 模型等各种形式。尽管这些数据的组织 形式各异,但它们都由各种基本数据类型构成。 基本数据类型是 CPU 可以直接进行运算的类型,在算法中直接被使用,主要包括以下几种。 字节。 Unicode 是一种通用字符集,本质上是给每个字符分配一个编号(称为“码点”),但它并没有规定在计算机 中如何存储这些字符码点。我们不禁会问:当多种长度的 Unicode 码点同时出现在一个文本中时,系统如 何解析字符?例如给定一个长度为 2 字节的编码,系统如何确认它是一个 2 字节的字符还是两个 1 字节的字 符? 对于以上问题,一种直接的解决方案是将所有字符存储为等长的编码。如图 字节长度。这样系统就可以每隔 2 字节解析一个字符,恢复这个短语的内容了。 图 3‑7 Unicode 编码示例 然而 ASCII 码已经向我们证明,编码英文只需 1 字节。若采用上述方案,英文文本占用空间的大小将会是 ASCII 编码下的两倍,非常浪费内存空间。因此,我们需要一种更加高效的 Unicode 编码方法。 3.4.4 UTF‑8 编码 目前,UTF‑8 已成为国际上使用最广泛的0 码力 | 383 页 | 18.48 MB | 1 年前3
Hello 算法 1.0.0 Golang版初始化后,仍可以在程序运行过程中对其长 度进行调整。 � 如果你感觉物理结构理解起来有困难,建议先阅读下一章,然后再回顾本节内容。 3.2 基本数据类型 当谈及计算机中的数据时,我们会想到文本、图片、视频、语音、3D 模型等各种形式。尽管这些数据的组织 形式各异,但它们都由各种基本数据类型构成。 基本数据类型是 CPU 可以直接进行运算的类型,在算法中直接被使用,主要包括以下几种。 字节。 Unicode 是一种通用字符集,本质上是给每个字符分配一个编号(称为“码点”),但它并没有规定在计算机 中如何存储这些字符码点。我们不禁会问:当多种长度的 Unicode 码点同时出现在一个文本中时,系统如 何解析字符?例如给定一个长度为 2 字节的编码,系统如何确认它是一个 2 字节的字符还是两个 1 字节的字 符? 对于以上问题,一种直接的解决方案是将所有字符存储为等长的编码。如图 字节长度。这样系统就可以每隔 2 字节解析一个字符,恢复这个短语的内容了。 图 3‑7 Unicode 编码示例 然而 ASCII 码已经向我们证明,编码英文只需 1 字节。若采用上述方案,英文文本占用空间的大小将会是 ASCII 编码下的两倍,非常浪费内存空间。因此,我们需要一种更加高效的 Unicode 编码方法。 3.4.4 UTF‑8 编码 目前,UTF‑8 已成为国际上使用最广泛的0 码力 | 382 页 | 17.60 MB | 1 年前3
Hello 算法 1.0.0b5 Golang版以在程序运行过程中 对其长度进行调整。 � 如果你感觉物理结构理解起来有困难,建议先阅读下一章“数组与链表”,然后再回顾本节内 容。 3.2 基本数据类型 谈及计算机中的数据,我们会想到文本、图片、视频、语音、3D 模型等各种形式。尽管这些数据的组织形式 各异,但它们都由各种基本数据类型构成。 基本数据类型是 CPU 可以直接进行运算的类型,在算法中直接被使用,主要包括以下几种类型。 Unicode 是一种字符集标准,本质上是给每个字符分配一个编号(称为“码点”),但它并没有规定在计算机 中如何存储这些字符码点。我们不禁会问:当多种长度的 Unicode 码点同时出现在同一个文本中时,系统 如何解析字符?例如给定一个长度为 2 字节的编码,系统如何确认它是一个 2 字节的字符还是两个 1 字节的 字符? 对于以上问题,一种直接的解决方案是将所有字符存储为等长的编码。如图 字节长度。这样系统就可以每隔 2 字节解析一个字符,恢复出这个短语的内容了。 图 3‑7 Unicode 编码示例 然而 ASCII 码已经向我们证明,编码英文只需要 1 字节。若采用上述方案,英文文本占用空间的大小将会是 ASCII 编码下大小的两倍,非常浪费内存空间。因此,我们需要一种更加高效的 Unicode 编码方法。 第 3 章 数据结构 hello‑algo.com 60 3.40 码力 | 379 页 | 30.70 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Go 版配内存实现长度变化,从而具备 一定的“动态性”。 Tip 如果你感觉物理结构理解起来有困难,建议先阅读下一章,然后再回顾本节内容。 3.2 基本数据类型 当谈及计算机中的数据时,我们会想到文本、图片、视频、语音、3D 模型等各种形式。尽管这些数据的组织 形式各异,但它们都由各种基本数据类型构成。 基本数据类型是 CPU 可以直接进行运算的类型,在算法中直接被使用,主要包括以下几种。 字节。 Unicode 是一种通用字符集,本质上是给每个字符分配一个编号(称为“码点”),但它并没有规定在计算机 中如何存储这些字符码点。我们不禁会问:当多种长度的 Unicode 码点同时出现在一个文本中时,系统如 何解析字符?例如给定一个长度为 2 字节的编码,系统如何确认它是一个 2 字节的字符还是两个 1 字节的字 符? 对于以上问题,一种直接的解决方案是将所有字符存储为等长的编码。如图 字节长度。这样系统就可以每隔 2 字节解析一个字符,恢复这个短语的内容了。 图 3‑7 Unicode 编码示例 然而 ASCII 码已经向我们证明,编码英文只需 1 字节。若采用上述方案,英文文本占用空间的大小将会是 ASCII 编码下的两倍,非常浪费内存空间。因此,我们需要一种更加高效的 Unicode 编码方法。 3.4.4 UTF‑8 编码 目前,UTF‑8 已成为国际上使用最广泛的0 码力 | 384 页 | 18.49 MB | 10 月前3
共 19 条
- 1
- 2













