今天开始起步学GO语言

  最近开始学习GO语言,至于直接的起因是看了astaxie大大所撰写的《Go Web 编程》这本书,该书放在GitHub上开源编写,使用CC BY-SA 3.0 License(创作共用 署名-相同方式共享3.0许可协议)授权。
  其实对GO语言的关注早在2011年时就有所耳闻,当时也从网上搜罗了一些资料了解了其中一些特性,但是苦于资料在国内很难找到,且能用的资源少之又少,无奈只好放弃,看了astaxie的书后,如今又重新燃起了学习的欲望。
  那么,学习之前首先需要先了解为什么要学,GO语言之所以吸引人可以参考这篇文章

为什么不使用Go语言呢?

文章中提到如下几个观点:

1、快速简单的编译(虽然我没有感受到,难道是工具的原因?至少没有我用eclipse编译java程序快,纯个人体会,未经证实^_^)

2、通过多返回值的错误处理;

3、简单的组合(个人觉得java显示声明类所实现的接口的方式可读性更强,另外类的定义方式我也用得比较难接受);

package main

import (
    "fmt"
)

//定义接口,必须实现sayHi()方法
type Duck interface {
    sayHi()
}

//定义WhiteDuck类
type WhiteDuck struct {
}

func (w WhiteDuck) sayHi() {
    fmt.Println("hello!!")
}

func main() {
    var w WhiteDuck
    var d Duck = w //赋值接口
    d.sayHi()
}

 

接口直到被使用前才知道哪个类实现了它本身,一个文件中存在N个类,对于习惯了写JAVA代码的我还真是不习惯
4、简单的并发;
这条我非常赞同,我觉得这个是我认为我需要学习GO语言最重要的原因,Rob有篇文章专门解释了Go语言的并发的实现机制,以及使用方法
5、优秀的错误提示;(目前还没入门,没有太多的体会,希望以后自己能有专门的博文来介绍)
6、高阶函数、垃圾回收、哈希映射、可扩展的数组等等。(这些也还没有接触,不是太清楚)
 
posted @ 2013-01-20 02:31  明日的烏鴉  阅读(398)  评论(0编辑  收藏  举报