Go程序设计语言

Go程序设计语言
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: , , , , ,
2017-05
版次: 1
ISBN: 9787111558422
定价: 79.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 286页
429人买过
  • 本书由《C程序设计语言》的作者Kernighan和谷歌公司Go团队主管AlanDonovan联袂撰写,是学习Go语言程序设计指南。本书共13章,主要内容包括:Go的基础知识、基本结构、基本数据类型、复合数据类型、函数、方法、接口、goroutine、通道、共享变量的并发性、包、go工具、测试、反射等。本书适合作为计算机相关专业的教材,也可供Go语言爱好者阅读。 The Go Programming Language 
    出版者的话 
    译者序 
    前言 
    第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
  • 内容简介:
    本书由《C程序设计语言》的作者Kernighan和谷歌公司Go团队主管AlanDonovan联袂撰写,是学习Go语言程序设计指南。本书共13章,主要内容包括:Go的基础知识、基本结构、基本数据类型、复合数据类型、函数、方法、接口、goroutine、通道、共享变量的并发性、包、go工具、测试、反射等。本书适合作为计算机相关专业的教材,也可供Go语言爱好者阅读。
  • 目录:
    The Go Programming Language 
    出版者的话 
    译者序 
    前言 
    第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
查看详情
系列丛书 / 更多
Go程序设计语言
Java编程思想(第4版)
[美]Bruce Eckel 著;陈昊鹏 译
Go程序设计语言
数据挖掘:概念与技术(原书第3版)
[美]Jiawei、[美]Micheling、[美]Jian Pei 著;范明、孟小峰 译
Go程序设计语言
算法导论(原书第3版)
[美]Thomas、[美]Charles、[美]Ronald、[美]Clifford Stein 著;殷建平、徐云、王刚 译
Go程序设计语言
数据结构与算法分析:Java语言描述
[美]马克·艾伦·维斯 著;陈越 译
Go程序设计语言
C程序设计语言(第2版·新版) 习题解答
吉米拜尔 著;杨涛 译;[美]汤朵
Go程序设计语言
C程序设计语言(第二版)
[美]Brian(布莱恩·克尼汉)、[美]Dennis M.Ritchie(丹尼斯·里奇) 著;徐宝文、李志 译
Go程序设计语言
深入理解计算机系统(原书第3版)
[美]兰德尔 E.布莱恩特(Randal E.·Bryant) 著;龚奕利、贺莲 译
Go程序设计语言
计算机科学丛书·云计算:概念、技术与架构
[美]Thomas、[英]Zaigham、[巴西]Ricardo Puttini 著;龚奕利、贺莲、胡创 译
Go程序设计语言
数据库系统概念:(原书第6版)
[美]Abraham、Henry、S.Sudarshan 著;杨冬青、李红燕、唐世渭 译
Go程序设计语言
计算机科学导论:原书第3版
[美]Behrouz Forouzan 著;刘艺 译
Go程序设计语言
编译原理:原理、技术与工具
[美]阿霍 著;赵建华 译
Go程序设计语言
软件工程:实践者的研究方法(原书第8版 本科教学版)
[美]罗杰 S. 普莱斯曼 著;郑人杰、马素霞 译
相关图书 / 更多
Go程序设计语言
Go专家编程(第2版)
任洪彩
Go程序设计语言
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用
[澳]阿米特·萨哈(Amit Saha)著 贾玉彬 刘光磊 译;上海碳泽信息科技有限公司 审校
Go程序设计语言
Go语言从入门到项目实战(视频版)
刘瑜 萧文翰 董树南 著
Go程序设计语言
Go语言从入门到项目实践(超值版)
余建熙
Go程序设计语言
Go语言学习指南:惯例模式与编程实践
乔恩·博德纳(Jon Bodner)
Go程序设计语言
Go语言程序设计-微课视频版
肖建良;赵文丽
Go程序设计语言
Go程序员面试笔试宝典
饶全成 欧长坤 楚秦等编著 猿媛之家 组编
Go程序设计语言
Go语言程序设计项目化教程(微课版)
谭旭;史律;钟祥永
Go程序设计语言
Go程序开发实战宝典
穆旭东 谭庆丰 楚秦 编著;猿媛之家 组编
Go程序设计语言
Go语言与区块链开发(计算机类普通高等教育双一流课程系列教材)
冯柳平、陈澜祯、袁贵春、卢婷婷 编
Go程序设计语言
Go语言Hyperledger区块链开发实战
李晓黎
Go程序设计语言
Go语言设计模式(双色版)
廖显东