磨刀不誤砍柴工——go語言學習必備資料:
1. go 下載安裝
2. 官方文檔 Effective go
3. 官方文檔中文翻譯pdf下載
4. 國人寫的go IDE——LiteIDE 32.1
本文原文地址:http://blog.csdn.net/caib1109/article/details/75578974
第一步——Hello world
// testDemo project main.gopackage mainimport ( "fmt")func main() { fmt.Println("Hello World!")}
第二步——項目結構
go install和go build之爭。目前,IDEA外掛程式和LiteIDE都採用了go build。Eclipse外掛程式採用了go install。官方推薦go install方式編譯項目,官方項目結構應該是
項目名稱 |--bi |--pkg +--src
第三步——package main、func main() { }、func init() { }
一圖勝千言
第四步——go語言物件導向
// File Name: main.gopackage mainimport ( "fmt")type Human interface { Talk()}type Person struct { name string Human // Person is-a Human}func (p *Person) Talk() { fmt.Println("Hi, my name is", p.name)}type Citizen struct { country string person Person Human //B is-a A}func (c *Citizen) Talk() { fmt.Println("Hi, my name is", c.person.name)}func SpeakTo(h Human) { h.Talk()}func main() { p := Person{name: "Dave"} c := Citizen{person: Person{name: "Steve"}, country: "America"} SpeakTo(&p) SpeakTo(&c)}
第五步——go語言並發
// File Name: main.gopackage mainimport ( "fmt")var ch = make(chan string)func message() { msg := <-ch fmt.Println(msg)}func main() { go message() ch <- "Hello,CSP."}
拓展閱讀:
[1] go語言的物件導向、介面、偽多態和真多態