Go语言编程

Go语言编程
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2012-08
版次: 1
ISBN: 9787115290366
定价: 49.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 245页
字数: 361千字
正文语种: 简体中文
丛书: 图灵原创
243人买过
  •   在C语言和Unix操作系统发布40年后,肯·汤普森等贝尔实验室原班人马终于推出了一门全新的编程语言,它就是Go语言。Go语言凝聚了该团队将近半个世纪对计算机工程的思考成果,被称为互联网时代的C语言。自Go语言头一次发布以来,七牛云存储团队就非常密切地关注这门语言的发展,并率先在七牛的产品中进行大面积的应用,而开发效率和系统稳定性等客观数据也在持续证明我们选择Go语言的正确性。因此,我们迫不及待地希望向同行们分享这门语言,大家一起来享受Go语言所带来的极大乐趣,也一起来促进这门语言的发展吧!
      《Go语言编程》首先概览了Go语言的诞生和发展历程,从面向过程编程特性入手介绍Go语言的基础用法,让有一定C语言基础的读者可以非常迅速地入门并开始上手用Go语言来解决实际问题,之后介绍了Go语言简洁却又无比强大的面向对象编程特性和并发编程能力,至此读者已经可以理解为什么Go语言是为互联网时代而生的语言。从实用性角度出发,本书还介绍了Go语言标准库和配套工具的用法,包括安全编程、网络编程、工程管理工具等。对于希望对Go语言有更深入了解的读者,我们也特别组织了一系列进阶话题,包括语言交互性、链接符号、goroutine机理和接口机制等。《Go语言编程》适合所有层次的开发者阅读。   许式伟,七牛云存储CEO,曾任盛大创新院资深研究员、金山软件技术总监、WPS Office 2005首席架构师。开源爱好者,发布过包括WINX、TPL等十余个C++开源项目,拥有超过15年的C/C++开发经验。在接触Go语言后即可被其大道至简、少即是多的设计哲学所倾倒。七牛云存储是国内头一个吃螃蟹的团队,核心服务完全采用Go语言实现。

      吕桂华,七牛云存储联合创始人,曾在金山软件、盛大游戏等公司担任架构师和部门经理等职务,在企业级系统和大型网游平台领域有较多涉猎。拥有十余年的C/C++大型项目开发经验,也曾在Java和.NET平台上探索多年。同样被Go语言的魅力所吸引而不可自拔,希望能为推广这门优秀的语言尽自己的绵薄之力。
    第1章  初识Go语言
    1.1  语言简史
    1.2  语言特性
    1.2.1  自动垃圾回收
    1.2.2  更丰富的内置类型
    1.2.3  函数多返回值
    1.2.4  错误处理
    1.2.5  匿名函数和闭包
    1.2.6  类型和接口
    1.2.7  并发编程
    1.2.8  反射
    1.2.9  语言交互性
    1.3  第一个Go程序
    1.3.1  代码解读
    1.3.2  编译环境准备
    1.3.3  编译程序
    1.4  开发工具选择
    1.5  工程管理
    1.6  问题追踪和调试
    1.6.1  打印日志
    1.6.2  GDB调试
    1.7  如何寻求帮助
    1.7.1  邮件列表
    1.7.2  网站资源
    1.8  小结

    第2章  顺序编程
    2.1  变量
    2.1.1  变量声明
    2.1.2  变量初始化
    2.1.3  变量赋值
    2.1.4  匿名变量
    2.2  常量
    2.2.1  字面常量
    2.2.2  常量定义
    2.2.3  预定义常量
    2.2.4  枚举
    2.3  类型
    2.3.1  布尔类型
    2.3.2  整型
    2.3.3  浮点型
    2.3.4  复数类型
    2.3.5  字符串
    2.3.6  字符类型
    2.3.7  数组
    2.3.8  数组切片
    2.3.9  map
    2.4  流程控制
    2.4.1  条件语句
    2.4.2  选择语句
    2.4.3  循环语句
    2.4.4  跳转语句
    2.5  函数
    2.5.1  函数定义
    2.5.2  函数调用
    2.5.3  不定参数
    2.5.4  多返回值
    2.5.5  匿名函数与闭包
    2.6  错误处理
    2.6.1  error接口
    2.6.2  defer
    2.6.3  panic()和recover()
    2.7  完整示例
    2.7.1  程序结构
    2.7.2  主程序
    2.7.3  算法实现
    2.7.4  主程序
    2.7.5  构建与执行
    2.8  小结

    第3章  面向对象编程
    3.1  类型系统
    3.1.1  为类型添加方法
    3.1.2  值语义和引用语义
    3.1.3  结构体
    3.2  初始化
    3.3  匿名组合
    3.4  可见性
    3.5  接口
    3.5.1  其他语言的接口
    3.5.2  非侵入式接口
    3.5.3  接口赋值
    3.5.4  接口查询
    3.5.5  类型查询
    3.5.6  接口组合
    3.5.7  Any类型
    3.6  完整示例
    3.6.1  音乐库
    3.6.2  音乐播放
    3.6.3  主程序
    3.6.4  构建运行
    3.6.5  遗留问题
    3.7  小结

    第4章  并发编程
    4.1  并发基础
    4.2  协程
    4.3  goroutine
    4.4  并发通信
    4.5  channel
    4.5.1  基本语法
    4.5.2  select
    4.5.3  缓冲机制
    4.5.4  超时机制
    4.5.5  channel的传递
    4.5.6  单向channel
    4.5.7  关闭channel
    4.6  多核并行化
    4.7  出让时间片
    4.8  同步
    4.8.1  同步锁
    4.8.2  全局唯一性操作
    4.9  完整示例
    4.9.1  简单IPC框架
    4.9.2  中央服务器
    4.9.3  主程序
    4.9.4  运行程序
    4.10  小结

    第5章  网络编程
    5.1  Socket编程
    5.1.1  Dial()函数
    5.1.2  ICMP示例程序
    5.1.3  TCP示例程序
    5.1.4  更丰富的网络通信
    5.2  HTTP编程
    5.2.1  HTTP客户端
    5.2.2  HTTP服务端
    5.3  RPC编程
    5.3.1  Go语言中的RPC支持与处理
    5.3.2  Gob简介
    5.3.3  设计优雅的RPC接口
    5.4  JSON处理
    5.4.1  编码为JSON格式
    5.4.2  解码JSON数据
    5.4.3  解码未知结构的JSON数据
    5.4.4  JSON的流式读写
    5.5  网站开发
    5.5.1  最简单的网站程序
    5.5.2  net/http包简介
    5.5.3  开发一个简单的相册网站
    5.6  小结

    第6章  安全编程
    6.1  数据加密
    6.2  数字签名
    6.3  数字证书
    6.4  PKI体系
    6.5  Go语言的哈希函数
    6.6  加密通信
    6.6.1  加密通信流程
    6.6.2  支持HTTPS的Web服务器
    6.6.3  支持HTTPS的文件服务器
    6.6.4  基于SSL/TLS的ECHO程序
    6.7  小结

    第7章  工程管理
    7.1  Go命令行工具
    7.2  代码风格
    7.2.1  强制性编码规范
    7.2.2  非强制性编码风格建议
    7.3  远程import支持
    7.4  工程组织
    7.4.1  GOPATH
    7.4.2  目录结构
    7.5  文档管理
    7.6  工程构建
    7.7  跨平台开发
    7.7.1  交叉编译
    7.7.2  Android支持
    7.8  单元测试
    7.9  打包分发
    7.10  小结

    第8章  开发工具
    8.1  选择开发工具
    8.2  gedit
    8.2.1  语法高亮
    8.2.2  编译环境
    8.3  Vim
    8.4  Eclipse
    8.5  Notepad++
    8.5.1  语法高亮
    8.5.2  编译环境
    8.6  LiteIDE
    8.7  小结

    第9章  进阶话题
    9.1  反射
    9.1.1  基本概念
    9.1.2  基本用法
    9.1.3  对结构的反射操作
    9.2  语言交互性
    9.2.1  类型映射
    9.2.2  字符串映射
    9.2.3  C程序
    9.2.4  函数调用
    9.2.5  编译Cgo
    9.3  链接符号
    9.4  goroutine机理
    9.4.1  协程
    9.4.2  协程的C语言实现
    9.4.3  协程库概述
    9.4.4  任务
    9.4.5  任务调度
    9.4.6  上下文切换
    9.4.7  通信机制
    9.5  接口机理
    9.5.1  类型赋值给接口
    9.5.2  接口查询
    9.5.3  接口赋值
    附录A
  • 内容简介:
      在C语言和Unix操作系统发布40年后,肯·汤普森等贝尔实验室原班人马终于推出了一门全新的编程语言,它就是Go语言。Go语言凝聚了该团队将近半个世纪对计算机工程的思考成果,被称为互联网时代的C语言。自Go语言头一次发布以来,七牛云存储团队就非常密切地关注这门语言的发展,并率先在七牛的产品中进行大面积的应用,而开发效率和系统稳定性等客观数据也在持续证明我们选择Go语言的正确性。因此,我们迫不及待地希望向同行们分享这门语言,大家一起来享受Go语言所带来的极大乐趣,也一起来促进这门语言的发展吧!
      《Go语言编程》首先概览了Go语言的诞生和发展历程,从面向过程编程特性入手介绍Go语言的基础用法,让有一定C语言基础的读者可以非常迅速地入门并开始上手用Go语言来解决实际问题,之后介绍了Go语言简洁却又无比强大的面向对象编程特性和并发编程能力,至此读者已经可以理解为什么Go语言是为互联网时代而生的语言。从实用性角度出发,本书还介绍了Go语言标准库和配套工具的用法,包括安全编程、网络编程、工程管理工具等。对于希望对Go语言有更深入了解的读者,我们也特别组织了一系列进阶话题,包括语言交互性、链接符号、goroutine机理和接口机制等。《Go语言编程》适合所有层次的开发者阅读。
  • 作者简介:
      许式伟,七牛云存储CEO,曾任盛大创新院资深研究员、金山软件技术总监、WPS Office 2005首席架构师。开源爱好者,发布过包括WINX、TPL等十余个C++开源项目,拥有超过15年的C/C++开发经验。在接触Go语言后即可被其大道至简、少即是多的设计哲学所倾倒。七牛云存储是国内头一个吃螃蟹的团队,核心服务完全采用Go语言实现。

      吕桂华,七牛云存储联合创始人,曾在金山软件、盛大游戏等公司担任架构师和部门经理等职务,在企业级系统和大型网游平台领域有较多涉猎。拥有十余年的C/C++大型项目开发经验,也曾在Java和.NET平台上探索多年。同样被Go语言的魅力所吸引而不可自拔,希望能为推广这门优秀的语言尽自己的绵薄之力。
  • 目录:
    第1章  初识Go语言
    1.1  语言简史
    1.2  语言特性
    1.2.1  自动垃圾回收
    1.2.2  更丰富的内置类型
    1.2.3  函数多返回值
    1.2.4  错误处理
    1.2.5  匿名函数和闭包
    1.2.6  类型和接口
    1.2.7  并发编程
    1.2.8  反射
    1.2.9  语言交互性
    1.3  第一个Go程序
    1.3.1  代码解读
    1.3.2  编译环境准备
    1.3.3  编译程序
    1.4  开发工具选择
    1.5  工程管理
    1.6  问题追踪和调试
    1.6.1  打印日志
    1.6.2  GDB调试
    1.7  如何寻求帮助
    1.7.1  邮件列表
    1.7.2  网站资源
    1.8  小结

    第2章  顺序编程
    2.1  变量
    2.1.1  变量声明
    2.1.2  变量初始化
    2.1.3  变量赋值
    2.1.4  匿名变量
    2.2  常量
    2.2.1  字面常量
    2.2.2  常量定义
    2.2.3  预定义常量
    2.2.4  枚举
    2.3  类型
    2.3.1  布尔类型
    2.3.2  整型
    2.3.3  浮点型
    2.3.4  复数类型
    2.3.5  字符串
    2.3.6  字符类型
    2.3.7  数组
    2.3.8  数组切片
    2.3.9  map
    2.4  流程控制
    2.4.1  条件语句
    2.4.2  选择语句
    2.4.3  循环语句
    2.4.4  跳转语句
    2.5  函数
    2.5.1  函数定义
    2.5.2  函数调用
    2.5.3  不定参数
    2.5.4  多返回值
    2.5.5  匿名函数与闭包
    2.6  错误处理
    2.6.1  error接口
    2.6.2  defer
    2.6.3  panic()和recover()
    2.7  完整示例
    2.7.1  程序结构
    2.7.2  主程序
    2.7.3  算法实现
    2.7.4  主程序
    2.7.5  构建与执行
    2.8  小结

    第3章  面向对象编程
    3.1  类型系统
    3.1.1  为类型添加方法
    3.1.2  值语义和引用语义
    3.1.3  结构体
    3.2  初始化
    3.3  匿名组合
    3.4  可见性
    3.5  接口
    3.5.1  其他语言的接口
    3.5.2  非侵入式接口
    3.5.3  接口赋值
    3.5.4  接口查询
    3.5.5  类型查询
    3.5.6  接口组合
    3.5.7  Any类型
    3.6  完整示例
    3.6.1  音乐库
    3.6.2  音乐播放
    3.6.3  主程序
    3.6.4  构建运行
    3.6.5  遗留问题
    3.7  小结

    第4章  并发编程
    4.1  并发基础
    4.2  协程
    4.3  goroutine
    4.4  并发通信
    4.5  channel
    4.5.1  基本语法
    4.5.2  select
    4.5.3  缓冲机制
    4.5.4  超时机制
    4.5.5  channel的传递
    4.5.6  单向channel
    4.5.7  关闭channel
    4.6  多核并行化
    4.7  出让时间片
    4.8  同步
    4.8.1  同步锁
    4.8.2  全局唯一性操作
    4.9  完整示例
    4.9.1  简单IPC框架
    4.9.2  中央服务器
    4.9.3  主程序
    4.9.4  运行程序
    4.10  小结

    第5章  网络编程
    5.1  Socket编程
    5.1.1  Dial()函数
    5.1.2  ICMP示例程序
    5.1.3  TCP示例程序
    5.1.4  更丰富的网络通信
    5.2  HTTP编程
    5.2.1  HTTP客户端
    5.2.2  HTTP服务端
    5.3  RPC编程
    5.3.1  Go语言中的RPC支持与处理
    5.3.2  Gob简介
    5.3.3  设计优雅的RPC接口
    5.4  JSON处理
    5.4.1  编码为JSON格式
    5.4.2  解码JSON数据
    5.4.3  解码未知结构的JSON数据
    5.4.4  JSON的流式读写
    5.5  网站开发
    5.5.1  最简单的网站程序
    5.5.2  net/http包简介
    5.5.3  开发一个简单的相册网站
    5.6  小结

    第6章  安全编程
    6.1  数据加密
    6.2  数字签名
    6.3  数字证书
    6.4  PKI体系
    6.5  Go语言的哈希函数
    6.6  加密通信
    6.6.1  加密通信流程
    6.6.2  支持HTTPS的Web服务器
    6.6.3  支持HTTPS的文件服务器
    6.6.4  基于SSL/TLS的ECHO程序
    6.7  小结

    第7章  工程管理
    7.1  Go命令行工具
    7.2  代码风格
    7.2.1  强制性编码规范
    7.2.2  非强制性编码风格建议
    7.3  远程import支持
    7.4  工程组织
    7.4.1  GOPATH
    7.4.2  目录结构
    7.5  文档管理
    7.6  工程构建
    7.7  跨平台开发
    7.7.1  交叉编译
    7.7.2  Android支持
    7.8  单元测试
    7.9  打包分发
    7.10  小结

    第8章  开发工具
    8.1  选择开发工具
    8.2  gedit
    8.2.1  语法高亮
    8.2.2  编译环境
    8.3  Vim
    8.4  Eclipse
    8.5  Notepad++
    8.5.1  语法高亮
    8.5.2  编译环境
    8.6  LiteIDE
    8.7  小结

    第9章  进阶话题
    9.1  反射
    9.1.1  基本概念
    9.1.2  基本用法
    9.1.3  对结构的反射操作
    9.2  语言交互性
    9.2.1  类型映射
    9.2.2  字符串映射
    9.2.3  C程序
    9.2.4  函数调用
    9.2.5  编译Cgo
    9.3  链接符号
    9.4  goroutine机理
    9.4.1  协程
    9.4.2  协程的C语言实现
    9.4.3  协程库概述
    9.4.4  任务
    9.4.5  任务调度
    9.4.6  上下文切换
    9.4.7  通信机制
    9.5  接口机理
    9.5.1  类型赋值给接口
    9.5.2  接口查询
    9.5.3  接口赋值
    附录A
查看详情
12
系列丛书 / 更多
Go语言编程
第一行代码:Android
郭霖 著
Go语言编程
啊哈!算法
啊哈磊 著
Go语言编程
推荐系统实践
项亮 著
Go语言编程
深入浅出Node.js
朴灵 著
Go语言编程
SEO教程:搜索引擎优化入门与进阶(第3版)
吴泽欣 著
Go语言编程
Unity 3D游戏开发
宣雨松 著
Go语言编程
iOS开发指南 从零基础到App Store上架(第3版)
关东升 著
Go语言编程
Docker 容器与容器云(第2版)
浙江大学SEL实验室 著
Go语言编程
深入React技术栈
陈屹 著
Go语言编程
JavaScript设计模式与开发实践
曾探 著
Go语言编程
Go并发编程实战(第2版)
郝林 著
Go语言编程
腾云:—云计算和大数据时代网络技术揭秘
徐立冰 著
相关图书 / 更多
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语言设计模式(双色版)
廖显东