新書推薦:
《
孤独传:一种现代情感的历史
》
售價:NT$
390.0
《
家、金钱和孩子
》
售價:NT$
295.0
《
形而上学与测量
》
售價:NT$
340.0
《
世界航母、舰载机图鉴 【日】坂本明
》
售價:NT$
340.0
《
量价关系——透视股票涨跌脉络
》
售價:NT$
340.0
《
创伤与记忆:身体体验疗法如何重塑创伤记忆 [美]彼得·莱文
》
售價:NT$
295.0
《
复原力
》
售價:NT$
345.0
《
近代中国思维方式的演变(王中江著作系列)
》
售價:NT$
950.0
|
編輯推薦: |
内含70个技术案例
内容实用,起点较低、上手容易
|
內容簡介: |
本书介绍了Go语言的实践应用技术,主要以实际应用为目的,使读者在掌握基本的Go语言知识的基础上进行更多的实践训练。本书涵盖了Go语言基本概念、Go应用程序的管理机制、创建用户界面、云基础设施、微服务器及服务到服务的通信模式等内容,并按照问题、解决方案和讨论的顺序结合具体的程序示例对70种Go语言的技术逐步进行了介绍。本书可以作为程序员解决实际问题的参考。也可以作为Go语言爱好者学习和应用的参考书。还可以作为非专业学生Go语言学习的入门参考书,也可以作为专业学生的实践参考书。
|
關於作者: |
马特 布彻是Deis的一名建筑师,在那里,他的日常工作就是做开源项目。他写过几本书和一些文章。布彻拥有哲学博士学位,在美国芝加哥的罗耀拉大学计算机科学系任教。马特热衷于构建强大的团队和开发解决复杂的问题的完美方案。
马特•法里纳是惠普公司的高级技术团队的首席工程师。他是一个作家、演说家,还是开源软件的定期撰稿人,开源软件做
软件开发工作已经超过了14世纪。马特•法里纳喜欢通过创建解决方案为普通民众解决问题,他既能够采用最新的技术来创建解决方案,又可以通过容易被忽视的一些普通的方法来完成这些工作。
|
目錄:
|
译者序
序
鸣谢
前言
关于本书
关于作者
关于封面插图
第1部分1
1走进GO语言1
1.1 何谓GO语言2
1.2 GO语言的特点4
1.2.1 多个返回值4
1.2.2 现代化的标准库6
1.2.3 goroutine 与通道的并发性(Go语言规程及通道并发性)9
1.2.4 Go工具链—不仅仅是一种语言14
1.3 众多编程语言背景下的GO语言20
1.3.1 C语言与Go语言20
1.3.2 Java 与 Go21
1.3.3 Python、PHP与Go23
1.3.4 JavaScript、Node.js与 Go25
1.4启动、运行GO语言26
1.4.1安装Go语言26
1.4.2Go语言与Git,Mercurial协同运行和版本控制27
1.4.3探索工作区27
1.4.4环境变量的使用28
1.5 GO,你好29
1.6小结31
2坚实的基础32
2.1 GO语言使用CLI应用程序的方法33
2.1.1 命令行标记33
2.1.2 命令行框架结构40
2.2 配置问题处理47
2.3使用实际的WEB服务器54
2.3.1 启动和关闭服务器55
2.3.2 路由web 请求60
2.4小结71
3GO语言的并发性72
3.1理解GO语言的并发模型72
3.2 使用GOROUNTINE73
3.3 通道的应用88
3.4 小结101
第2部分103
4 ERROR错误与PANIC异常的处理103
4.1 ERROR错误处理104
4.2 PANIC异常系统114
4.2.1 error错误与panic异常的区分114
4.2.2 panic异常处理116
4.2.3 从panic异常中恢复过来118
4.2.4panic异常和goroutine函数125
4.3 小结134
5调试和测试135
5.1定位BUGS135
5.1.1等等,我的调试器debugger在哪里?136
5.2 日志记录136
5.2.1使用Go语言的记录器137
5.2.2使用系统记录器148
5.3访问堆栈跟踪152
5.4 测试155
5.4.1 单元测试155
5.4.2生成测试162
5.5使用性能测试和基准165
5.6小结172
第3部分应用程序的接口174
6HTML和电子邮件的模板样式174
6.1 HTML模板的使用175
6.1.1标准库HTML包概述175
6.1.2 在模板中添加函数177
6.1.3 模板解析限制180
6.1.4 模板执行中断182
6.1.5 混合模板183
6.2 在EMAIL中使用模板195
6.3 小结197
7静态资源(ASSET)和表单的获取和接收198
7.1 获取静态内容199
7.2 表单POST的处理213
7.2.1 表单请求简介213
7.2.2 使用文件和分段提交216
7.2.3 使用原始的多个数据223
7.3 小结228
8使用WEB服务229
8.1 使用RESET API229
8.1.1 使用HTTP客户端230
8.1.2 发生故障时232
8.2 通过HTTP传递和处理错误236
8.2.1 生成自定义错误237
8.2.2 读取和使用自定义错误238
8.3 传递和映射JSON241
8.4版本控制REST API246
8.5小结251
第四部分 将应用程序发布到云252
9 使用云252
9.1什么是云计算?253
9.1.1 云计算的类型253
9.1.2 容器和云本地应用程序255
9.2管理云服务257
9.2.1避免云提供商锁定257
9.2.2处理不一致的错误261
9.3在云服务器上运行263
9.3.1执行运行时检测263
9.3.2构建云266
9.3.3执行运行时监视269
9.4 小结271
10 云服务之间的通信272
10.1微服务和高可用性272
10.2服务之间的通信274
10.2.1 使REST更快274
10.2.2超越REST281
10.3 小结290
11反射和代码生成291
11.1反射的三个特征291
11.2 结构体,标签和注解304
11.2.1 注释结构304
11.2.2 使用标签注解305
11.3使用GO代码生成GO代码312
11.4小结319
|
內容試閱:
|
当第一次使用Go语言时,就发现它是一种有潜力的语言。我们想利用它来构建应用程序。但它毕竟是一种新的语言,许多公司都对引入一种新的编程语言充满着疑虑。
在Go语言对其有可能产生巨大影响的企业中更是如此。一种新的编程语言要面临着能否被信任、被接受、被采用等挑战。在很多企业中,有成千上万的编程语言的研发者。但是往往这些企业的领导人都是被动地去尝试一种新的语言,这就需要语言的研发者们能掌握好的技术来构建应用程序,以期让企业能看到收益。
开源项目、会议、培训和书籍等都是有助于人们更容易掌握编程语言的一些途径。我们想写一本教授Go语言的书,旨在帮助Go社区的人们,帮助那些想学习Go语言或者试图说服他们企业的领导学习Go语言的人们,还可以为我们所工作的公司和我们自己的工作提供帮助。
我们开始写这本书时,最直接的目标本是想利用Go语言进行云开发。所以Go语言起初本是一种为云开发而构建的语言,而且在云计算方面我们也已经花了数年的工作时间。但与曼宁出版社刚开始合作时,我们就看到了一个远超出云计算的扩展研究范围的机会,这是一种更实用、更有帮助的模式。所以这本书的主旨也从最初的聚焦云计算转换成了聚焦模式。不过,本书仍然保留了云计算作为其根源。
我们希望Go语言实践训练这本书能帮助开发人员实现从熟悉Go语言到富有成效地应用Go语言的转变。希望此书能有助于开发者社区的成长,也希望能为社区的组织编写出更好的软件提供帮助。
|
|