Go程序设计语言

Go程序设计语言 pdf epub mobi txt 电子书 下载 2026

出版者:机械工业出版社
作者:艾伦 A. A. 多诺万
出品人:
页数:286
译者:李道兵
出版时间:2017-5
价格:79
装帧:
isbn号码:9787111558422
丛书系列:计算机科学丛书
图书标签:
  • Go语言
  • Go
  • 计算机
  • 编程
  • 计算机科学
  • golang
  • Golang
  • go语言
  • Go语言
  • 程序设计
  • 编程语言
  • 软件开发
  • 算法
  • 数据结构
  • 并发编程
  • 系统编程
  • 云计算
  • 高效开发
  • 面向对象
想要找书就要到 本本书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

本书由《C程序设计语言》的作者Kernighan和谷歌公司Go团队主管Alan Donovan联袂撰写,是学习Go语言程序设计的指南。本书共13章,主要内容包括:Go的基础知识、基本结构、基本数据类型、复合数据类型、函数、方法、接口、goroutine、通道、共享变量的并发性、包、go工具、测试、反射等。

本书适合作为计算机相关专业的教材,也可供Go语言爱好者阅读。

作者简介

目录信息

出版者的话
译者序
前言
第1章 入门 1
1.1 hello,world 1
1.2 命令行参数 3
1.3 找出重复行 6
1.4 GIF动画 10
1.5 获取一个URL 12
1.6 并发获取多个URL 13
1.7 一个Web服务器 14
1.8 其他内容 17
第2章 程序结构 20
2.1 名称 20
2.2 声明 21
2.3 变量 22
2.3.1 短变量声明 22
2.3.2 指针 23
2.3.3 new函数 25
2.3.4 变量的生命周期 26
2.4 赋值 27
2.4.1 多重赋值 27
2.4.2 可赋值性 28
2.5 类型声明 29
2.6 包和文件 30
2.6.1 导入 31
2.6.2 包初始化 33
2.7 作用域 34
第3章 基本数据 38
3.1 整数 38
3.2 浮点数 42
3.3 复数 45
3.4 布尔值 47
3.5 字符串 47
3.5.1 字符串字面量 49
3.5.2 Unicode 49
3.5.3 UTF-8 50
3.5.4 字符串和字节slice 53
3.5.5 字符串和数字的相互转换 56
3.6 常量 56
3.6.1 常量生成器iota 57
3.6.2 无类型常量 59
第4章 复合数据类型 61
4.1 数组 61
4.2 slice 63
4.2.1 append函数 66
4.2.2 slice就地修改 69
4.3 map 71
4.4 结构体 76
4.4.1 结构体字面量 78
4.4.2 结构体比较 80
4.4.3 结构体嵌套和匿名成员 80
4.5 JSON 82
4.6 文本和HTML模板 87
第5章 函数 92
5.1 函数声明 92
5.2 递归 93
5.3 多返回值 96
5.4 错误 98
5.4.1 错误处理策略 99
5.4.2 文件结束标识 101
5.5 函数变量 102
5.6 匿名函数 104
5.7 变长函数 110
5.8 延迟函数调用 111
5.9 宕机 115
5.10 恢复 118
第6章 方法 120
6.1 方法声明 120
6.2 指针接收者的方法 122
6.3 通过结构体内嵌组成类型 124
6.4 方法变量与表达式 127
6.5 示例:位向量 128
6.6 封装 130
第7章 接口 133
7.1 接口即约定 133
7.2 接口类型 135
7.3 实现接口 136
7.4 使用flag.Value来解析参数 139
7.5 接口值 141
7.6 使用sort.Interface来排序 144
7.7 http.Handler接口 148
7.8 error接口 152
7.9 示例:表达式求值器 154
7.10 类型断言 160
7.11 使用类型断言来识别错误 161
7.12 通过接口类型断言来查询特性 162
7.13 类型分支 164
7.14 示例:基于标记的XML解析 166
7.15 一些建议 168
第8章 goroutine和通道 170
8.1 goroutine 170
8.2 示例:并发时钟服务器 171
8.3 示例:并发回声服务器 174
8.4 通道 176
8.4.1 无缓冲通道 177
8.4.2 管道 178
8.4.3 单向通道类型 180
8.4.4 缓冲通道 181
8.5 并行循环 183
8.6 示例:并发的Web爬虫 187
8.7 使用select多路复用 190
8.8 示例:并发目录遍历 192
8.9 取消 195
8.10 示例:聊天服务器 198
第9章 使用共享变量实现并发 201
9.1 竞态 201
9.2 互斥锁:sync.Mutex 205
9.3 读写互斥锁:sync.RWMutex 208
9.4 内存同步 208
9.5 延迟初始化:sync.Once 210
9.6 竞态检测器 212
9.7 示例:并发非阻塞缓存 212
9.8 goroutine与线程 218
9.8.1 可增长的栈 219
9.8.2 goroutine调度 219
9.8.3 GOMAXPROCS 219
9.8.4 goroutine没有标识 220
第10章 包和go工具 221
10.1 引言 221
10.2 导入路径 221
10.3 包的声明 222
10.4 导入声明 223
10.5 空导入 223
10.6 包及其命名 225
10.7 go工具 226
10.7.1 工作空间的组织 227
10.7.2 包的下载 228
10.7.3 包的构建 229
10.7.4 包的文档化 231
10.7.5 内部包 232
10.7.6 包的查询 233
第11章 测试 235
11.1 go test工具 235
11.2 Test函数 236
11.2.1 随机测试 239
11.2.2 测试命令 240
11.2.3 白盒测试 242
11.2.4 外部测试包 245
11.2.5 编写有效测试 246
11.2.6 避免脆弱的测试 247
11.3 覆盖率 248
11.4 Benchmark函数 250
11.5 性能剖析 252
11.6 Example函数 254
第12章 反射 256
12.1 为什么使用反射 256
12.2 reflect.Type和reflect.Value 257
12.3 Display:一个递归的值显示器 259
12.4 示例:编码S表达式 263
12.5 使用reflect.Value来设置值 266
12.6 示例:解码S表达式 268
12.7 访问结构体字段标签 271
12.8 显示类型的方法 273
12.9 注意事项 274
第13章 低级编程 276
13.1 unsafe.Sizeof、Alignof 和Offsetof 276
13.2 unsafe.Pointer 278
13.3 示例:深度相等 280
13.4 使用cgo调用C代码 282
13.5 关于安全的注意事项 286
· · · · · · (收起)

读后感

评分

断断续续花了两三个月终于看完了《The Go Programming Language》,因为是英文原版,所以多花了点时间。整个书的结构和“XXX Programming Language”一样,从基本语法讲到高级特性。Go官网也提供了“A Tour of Go”, "Effective Go"等相对快速的教学文档(一般花上几小时即可完...  

评分

看这本书的时候,就感觉这本书代码例子相当好,基本上很多概念,文字看不懂的话,多读几遍代码,很容易就能理解了(特别是讲并发的那几章),还有对同一个问题的变化写法。 go语言本身语法在编程语言里算很简单了,即没有动态语言的各种神奇的元编程trick,也没有什么函数式编程...  

评分

去年就打算学习Go了,没坚持下来,今年打算再次拾起,并仔细做好笔记,笔记都放在[网页]上。我学习Go的一大动机是为了做后端开发。Go与Python相似,都对代码格式有着强烈的要求,这就强迫所有程序员在同一种风格下写作,对于代码可读性和团队协作来说,有很大好处。 Go的创始人...  

评分

Go语言是我大学毕业开始接触的一门编程语言,在此记录下我学习Go语言的历程和感受。 一刷 2018年7月-8月,入职游戏服务端开发,负责人给我扔了两本书,一本是机械工业出版社的《Go程序设计语言》,另一本叫《代码整洁之道》。 第一次接触一门新语言,给我的感受是,Go的语法很...  

评分

Go语言被誉为21世纪的C语言,如果你深入学习和使用这种语言之后也会表达认同。 所有的编程语言都反映了语言设计者对编程哲学的反思,通常包括之前的语言所暴露的一些不足地方的改进。Go项目是在Google维护超级复杂的几个项目遇到问题、反思问题下的产物。对软件复杂性有着更深...  

用户评价

评分

对于一个已经有一定编程基础的开发者来说,寻找一本既能巩固旧知又能启发新思路的书籍实属不易。幸运的是,这本书正好填补了这个空白。它的深度足够挑战那些自认为已经掌握了基础的人,同时它的广度又确保了读者能够全面了解一个现代编程生态的全貌。书中对于标准库的剖析细致入微,很多我过去只是“知道存在”但从未使用过的功能,通过本书的讲解,我现在能熟练地将其应用到实际项目中,极大地提升了我的开发效率。特别是关于错误处理和测试的章节,提供了非常实用的、可立即上手的策略,这在很多同类书籍中常常被一带而过。阅读这本书的体验,更像是进行了一次系统的“技能重构”,让我对过去的代码习惯进行了审视和优化,获得了质的飞跃。

评分

我之前尝试过几本号称是“最好的入门书”,结果往往是读了开头就放弃了,要么是内容过于陈旧,要么是代码示例晦涩难懂。然而,这本作品彻底颠覆了我的看法。它在保持技术严谨性的同时,非常注重可读性和现代性。作者似乎非常理解现代开发者的痛点,对那些容易让人混淆的概念,总能给出恰到好处的澄清和对比。书中的代码片段总是简洁、优雅且具有高度的实战价值,完全可以作为日常工作的参考模板。更让我赞赏的是,它对一些高级特性的介绍也处理得非常巧妙,不是一蹴而就地抛出所有细节,而是循序渐进地引导读者去探索更复杂的编程范式。阅读过程就像一场精心设计的探险,每翻过一章,你都会感觉自己又解锁了一个新的能力,这种成就感是无与伦比的。

评分

这本书真是一本引人入胜的计算机编程经典之作!从翻开第一页开始,我就被作者深入浅出的讲解方式深深吸引住了。它不像那些枯燥乏味的教科书,而是像一位经验丰富的老朋友在耐心引导你入门。书中的概念讲解得极其清晰透彻,即便是初次接触这个领域的读者,也能很快跟上节奏。尤其让我印象深刻的是,作者在介绍基础语法和数据结构时,总是能用非常贴切的例子来阐述复杂的原理,让人在实践中理解抽象的知识点。它不仅仅是告诉你“怎么做”,更重要的是告诉你“为什么这么做”,这对于建立扎实的编程思维至关重要。读完这本书,我感觉自己对底层逻辑的理解提升到了一个新的高度,不再是机械地敲代码,而是真正理解了程序是如何在机器上运行的。这种由内而外的转变,是许多编程书籍难以企及的。每一次重读,都会有新的感悟,仿佛每一次都能挖掘出更深层次的智慧。

评分

我收藏了很多编程书籍,但真正能让我愿意放在手边随时翻阅,并且每次都能发现新东西的,屈指可数。这本书无疑是其中之一。它的排版设计也值得称赞,结构清晰,逻辑流畅,阅读体验极佳,不会因为界面设计而分散注意力。它成功地在理论深度和工程实践之间找到了一个完美的平衡点。如果有人问我,想要快速且高质量地掌握一门现代且强大的编程技术,应该从哪里开始,我的答案一定是推荐这本书。它不仅仅教会了工具的使用,更塑造了一种严谨、高效、注重细节的编程哲学。它是一本能够伴随你从初级程序员成长为资深工程师的“路标”,而不是一本读完就束之高阁的“一次性读物”。它的价值是持久的、递增的。

评分

说实话,我是一个对技术文档有极高要求的人,因为我发现很多技术书籍要么是“为写而写”,要么是翻译腔过重,读起来非常累。但这本书的行文风格简直是一股清流。它的语言充满了活力和洞察力,仿佛作者正在和你进行一场面对面的技术沙龙。在讲解到并发处理和内存管理这些“硬骨头”时,作者并没有采用生硬的术语堆砌,而是通过生动的比喻和架构图来构建清晰的知识脉络。这使得原本令人望而生畏的主题变得触手可及。我尤其欣赏作者在书中穿插的那些“最佳实践”和“陷阱提醒”,这些经验之谈是教科书上学不到的宝贵财富,它们直接关系到我写出的代码的健壮性和效率。这本书的价值,远超于其作为一本参考资料的定位,它更像是一份能让你职业生涯受益匪浅的“内功心法”。

评分

入门go的话就它了,语法什么的都讲到了,翻译的还可以其实

评分

囫囵吞枣,还得再读

评分

入门go的话就它了,语法什么的都讲到了,翻译的还可以其实

评分

第一章的几个示例首先能对golang有一个overview的了解, 然后整本书读下来对golang的许多细节与特性有了相当的了解. 总体感觉非常好, 深入了解golang的话非常值得一读.

评分

翻译有些小问题, 期待下一版

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 onlinetoolsland.com All Rights Reserved. 本本书屋 版权所有