英文版本是《A Tour of Go》。我看过之后觉得这种学习体验非常棒,随即按照规则翻译了中文版本:
《Go 指南》
这个中文版本是部署在 GAE 上的,由于受到功夫网的影响,国内用户无法正常访问。所以,大家八仙过海吧。
(人还在这里,心已经出去了……)
由于许多原因,可能有的朋友无法一窥墙外之物。也可以通过源码将指南安装到本地使用。指南中有详细的说明,转发到这里,诸位自便吧。代码我托管在了 http://bitbucket.org/mikespook/go-tour-zh。
英文版本是《A Tour of Go》。我看过之后觉得这种学习体验非常棒,随即按照规则翻译了中文版本:
《Go 指南》
这个中文版本是部署在 GAE 上的,由于受到功夫网的影响,国内用户无法正常访问。所以,大家八仙过海吧。
(人还在这里,心已经出去了……)
由于许多原因,可能有的朋友无法一窥墙外之物。也可以通过源码将指南安装到本地使用。指南中有详细的说明,转发到这里,诸位自便吧。代码我托管在了 http://bitbucket.org/mikespook/go-tour-zh。
golang 本身在代码的 misc/vim 中提供了相应脚本,用来集成 golang 的 vim 环境。而第三方项目 gocode 则更是一个强大的工具。我在《gocode——VIM 和 Emacs 的 golang 代码自动补全》中已经介绍过了。
这两个项目都很活跃,而社区活跃带来的最大麻烦就是频繁更新。为了能方便的升级 vim 环境的 golang 脚本,所以写了这个 shell。
可以 step by step 的协助集成 golang 相关脚本到 vim 中。
下载地址:https://bitbucket.org/mikespook/learning_go_chinese/downloads/vim.sh。
虽然脚本会检测相关环境变量和依赖程序,不过还是最好提前设置好,免得麻烦。当然也可以将脚本到某个目录,让脚本自动下载 go 代码和 gocode 代码。
现在唯一没在这个脚本中集成的就是环境变量的设置和 .vimrc 中关于 syntax 之类的通用设置的开启。这些内容,DIY吧。
第一次知道反射的时候还是许多年前在学校里玩 C# 的时候。那时总是弄不清楚这个复杂的玩意能有什么实际用途……然后发现 Java 有这个,后来发现 PHP 也有了,再后来 Objective-C、Python 什么的也都有……甚至连 Delphi 也有 TRttiContext……反射无处不在!!!
Go 作为一个集大成的现代系统级语言,当然也需要有,必须的!
大牛 Rob Pike 的这篇文章相对全面的介绍了 Go 语言中的反射的机制已经使用。觉得值得研读,于是翻译于此。
———-翻译分割线———-
在运行时反射是程序检查其所拥有的结构,尤其是类型的一种能力;这是元编程的一种形式。它同时也是造成混淆的重要来源。
在这篇文章中将试图明确解释在 Go 中的反射是如何工作的。每个语言的反射模型都不同(同时许多语言根本不支持反射)。不过这篇文章是关于 Go 的,因此接下来的内容“反射”这一词表示“在 Go 中的反射”。
(more…)
鱼哥(https://twitter.com/#!/smallfishxy)上个月勒令我要完成 0.4 版的翻译。之前公司重组的时候,没顾上看英文版本的更新,结果这老外不声不响的做了如此之多的改动……
于是只好人工 diff,一条一条的对比 commit 内容。
总算是跟进到了 0.4 这个 tag。
发布一个可看的中文版吧:http://www.mikespook.com/learning-go/ (20110904)
未校对,未调整,未优化。你们懂的!
Golang 错误处理的 Panic – Recover 模型确实不太一样,Go 团队的博客上写了一篇相对完整的介绍这个模型使用的文章“Error handling and Go”。我觉得挺好,故翻译于此。本应早就完成这个翻译了,不过由于公司重组等等原因,一直留了首尾没能处理完整。所以拖到了今天,真是不应该啊!
————————翻译分割线————————–
如果你已经编写过 Go 代码,可能已经遇到过 os.Error 类型了。Go 代码使用 os.Error 值来标示异常状态。例如,当 os.Open 函数打开文件失败时,返回一个非 nil 的 os.Error 值。
func Open(name string) (file *File, err Error)
下面的函数使用 os.Open 打开一个文件。如果产生了错误,它会调用 log.Fatal 打印错误信息并且中断运行。
(more…)
继续前文的翻译。我本以为分成 3 段就可以完成翻译的,现在看,保守估计得 4 段了。保佑德国佬别再想起点什么加进去……
———————–翻译分割线———————–
[翻译]Go编程语言,或者:为什么除了它,其他类C语言都是垃圾(1)
[翻译]Go编程语言,或者:为什么除了它,其他类C语言都是垃圾(2)
[翻译]Go编程语言,或者:为什么除了它,其他类C语言都是垃圾(3)
有一些东西没有进入 Go 中,而我确实很想念它们。我希望社区能找到将那些东西加入进去的办法,当然得保持 Go 轻量的形式。我期望看到许多不怎么重要的功能,而有些仅仅是愿望,只有一个是我真正想要的,那就是元编程。
(more…)
继续前文的翻译。更进一步的对 Go 进行了介绍。一个德国人,用英文写了如此的长篇大论,这是一种什么样的国际主义精神……
———————–翻译分割线———————–
[翻译]Go编程语言,或者:为什么除了它,其他类C语言都是垃圾(1)
[翻译]Go编程语言,或者:为什么除了它,其他类C语言都是垃圾(2)
Go 真正强大的在于到现在为止,那些无法在 C、C++或者其他上面提到的任何语言中找到对应的地方。这些才是真正让 Go 光彩夺目的:
继续昨天的:[翻译]Go编程语言,或者:为什么除了它,其他类C语言都是垃圾(1)。
总算切入正题,开始说 Go 了。
———————–翻译分割线———————–
(译注:续[翻译]Go编程语言,或者:为什么除了它,其他类C语言都是垃圾(1))
原文在这里:http://www.syntax-k.de/projekte/go-review。作者是 Jörg Walter,是个德国人。
根据 Rob Pike 在推上的说法,文章有一些错误,但看起来值得阅读。
“Why all C-like languages except one suck”: http://www.syntax-k.de/projekte/go-review Some errors in there but a positive response.