Java程序员如何上手Go语言

Java语言和Go语言存在哪些异同,
在编程思想、语法、类型转换及异常处理上有什么心得?

这个问题也挺大的,我简单回答一下吧。

Go和Java都有类似C语言的语法,都有垃圾回收机制,都可以跨平台,这应该是它们最大的相似之处。

两个语言的差别就太多了,比如:

Java是执行字节码,Go则直接编译成可执行文件

Java是面向对象语言,Go则不是(http://spf13.com/post/is-go-object-oriented)

Java有try-catch-finally异常处理机制,Go则只有panic-recover机制

等等

语法方面的差别,最好还是浏览一下Go语言规范(http://godoc.golangtc.com/ref/spec)

编程思想方面,尽量避免把Java里的经验直接搬到Go里面吧。