文档章节

《Effective Go》中英双语版

兵戈天下
 兵戈天下
发布于 2016/08/13 13:53
字数 886
阅读 20
收藏 1

《Effective Go》中英双语版

Effective Go - 《实效 GO 编程》

Introduction

Go is a new language. Although it borrows ideas from existing languages, it has unusual properties that make effective Go programs different in character from programs written in its relatives. A straightforward translation of a C++ or Java program into Go is unlikely to produce a satisfactory result—Java programs are written in Java, not Go. On the other hand, thinking about the problem from a Go perspective could produce a successful but quite different program. In other words, to write Go well, it's important to understand its properties and idioms. It's also important to know the established conventions for programming in Go, such as naming, formatting, program construction, and so on, so that programs you write will be easy for other Go programmers to understand.

This document gives tips for writing clear, idiomatic Go code. It augments the language specification, the Tour of Go, and How to Write Go Code, all of which you should read first.

引言

Go 是一门全新的语言。尽管它从既有的语言中借鉴了许多理念,但其与众不同的特性,使得用 Go 编程在本质上就不同于其它语言。将现有的 C++ 或 Java 程序直译为 Go 程序并不能令人满意——毕竟 Java 程序是用 Java 编写的,而不是 Go。 另一方面,若从 Go 的角度去分析问题,你就能编写出同样可行但大不相同的程序。 换句话说,要想将 Go 程序写得好,就必须理解其特性和风格。了解命名、格式化、程序结构等既定规则也同样重要,这样你编写的程序才能更容易被其他程序员所理解。

本文档就如何编写清晰、地道的 Go 代码提供了一些技巧。它是对 语言规范Go 语言之旅 以及 如何使用 Go 编程 的补充说明,因此我们建议您先阅读这些文档。

Effective Go 作为 GO 语言的入门必读教程,值得每位初学者好好阅读一遍,编辑成书,方便阅读交流。


当前完成章节(全部完成):

  1. 前言
  2. 引言
  3. 格式化
  4. 注释
  5. 命名
  6. 分号
  7. 控制结构
  8. 函数
  9. 数据
  10. 初始化
  11. 方法
  12. 接口和其他类型
  13. 空白标识符
  14. 内嵌
  15. 并发
  16. 错误
  17. 一个 Web 服务器

改版说明:@2016.8.6 by bingoHuang, revision to Chinese & English version.

李笑来在他的新书 《人人都是工程师》 中说过一句话: 在中国,对绝大多数人来说,English + Computer Skills = Freedom(英语 + 计算机技能 = 自由)

我非常的赞同。英语和计算机技能是相辅相成,学习好一门编程语言(如 Go)的同时,还能加强英语学习,何乐而不为。所以我决定将本书改版成中英双语版,方便更多的人来学习阅读。

特别感谢 Golang 官网提供的英文版教程。

感谢 hellogcc 提供的 中文翻译版一,这是我之前制作中文版电子书所参考的资料,翻译的很用心。

要更感谢 Go 语言中文社区 提供的 中文翻译版二,此翻译更贴切有味道,不可多得。本人已和 Go-zh 项目组 沟通过,获取了该社区的授权,故将此作为双语版的中文版本。

参考

参考官方英文版:Effective Go 英文版

参考中文翻译版一:Effective Go 中文版

参考中文翻译版二:Effective Go 中文版

Read, Fork and Star

License

除特别注明外, 本页内容均采用知识共享 - 署名(CC-BY)3.0 协议授权,代码采用 BSD 协议 授权。

© 著作权归作者所有

共有 人打赏支持
兵戈天下
粉丝 5
博文 9
码字总数 10703
作品 0
杭州
高级程序员
Effective Go 中英双语版

Effective Go - 《实效 GO 编程》 Introduction Go is a new language. Although it borrows ideas from existing languages, it has unusual properties that make effective Go programs ......

兵戈天下
2016/08/13
726
3
多参数产品描述的表单设计问题

请教: 类似这样的产品描述: http://www.bflc.cn/productdetail.aspx?pid=694&cid=226 每个产品都有五个参数,选项卡切换显示,还是中英双语版,那后台的录入表单中就要有10个editor吗?因为...

程更新
2013/08/01
89
1
射手影音播放器的网友评论

射手影音播放器是由射手网创建与维护的开源播放器项目。内核基于MPC(感谢Gabest)、MPC-HC与ffmpeg。同时加入更多真正符合中国用户习惯的功能,旨在改进华人的数字影视观赏体验,建立和维护...

红薯
2009/12/11
922
10
射手影音播放器

射手影音播放器是由射手网创建与维护的开源播放器项目。内核基于MPC(感谢Gabest)、MPC-HC与ffmpeg。同时加入更多真正符合中国用户习惯的功能,旨在改进华人的数字影视观赏体验,建立和维护...

匿名
2009/03/09
9.6K
3
Windows平台上全功能的Markdown编辑器--MarkDown Editor

Windows下全功能的Markdown编辑器(x86桌面版),软件截图如下: MarkDownEditor与该平台其他主流编辑器的比较如图: 主要功能其实在上面的表格里面都有介绍,我就捡几个重要的feature说: ...

流浪的关公
2016/02/28
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

arts-week10

Algorithm 905. Sort Array By Parity - LeetCode Review Who’s Afraid of the Big Bad Preloader? 一文读懂前端缓存 一个网络请求3个步骤:请求,处理,响应,而前端缓存主要在请求处响应这两步...

yysue
今天
0
0
00.编译OpenJDK-8u40的整个过程

前言 历经2天的折腾总算把OpenJDK给编译成功了,要说为啥搞这个,还得从面试说起,最近出去面试经常被问到JVM的相关东西,总感觉自己以前学的太浅薄,所以回来就打算深入学习,目标把《深入理...

凌晨一点
今天
5
0
python: 一些关于元组的碎碎念

初始化元组的时候,尤其是元组里面只有一个元素的时候,会出现一些很蛋疼的情况: def checkContentAndType(obj): print(obj) print(type(obj))if __name__=="__main__": tu...

Oh_really
昨天
6
2
jvm crash分析工具

介绍一款非常好用的jvm crash分析工具,当jvm挂掉时,会产生hs_err_pid.log。里面记录了jvm当时的运行状态以及错误信息,但是内容量比较庞大,不好分析。所以我们要借助工具来帮我们。 Cras...

xpbob
昨天
136
0
Qt编写自定义控件属性设计器

以前做.NET开发中,.NET直接就集成了属性设计器,VS不愧是宇宙第一IDE,你能够想到的都给你封装好了,用起来不要太爽!因为项目需要自从全面转Qt开发已经6年有余,在工业控制领域,有一些应用...

飞扬青云
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部