初識GO語言

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

GO語言是google的自行設計的一門語言

Go語言專門針對多處理器系統應用程式的編程進行了最佳化,使用Go編譯的程式可以媲美C或C++代碼的速度,而且更加安全、支援並行進程。

誕生於著名的google 20%時間,主設計師是Rob Pike

簡單地說,GO語言像java一樣易於開發,像C/C++一樣高效(當然,這是他們的目標)

GO語言的首頁:http://golang.org/

GO語言的編輯器:很多,我這裡使用的IDEA,不過當然需要添加外掛程式,添加的方法可以看這裡:http://www.php100.com/html/itnews/it/2012/0831/10973.html

如果你在IDE中不能下載外掛程式的話,可以去這裡下載http://plugins.jetbrains.com/plugin/5047?pr=idea_ce,然後在硬碟上安裝。

 

GO的文法

  GO的關鍵字和C幾乎完全一直,所以懂C的人不用任何學習,就可以看懂GO的代碼。

  但是而這之間的表述模式有著巨大的區別

      C中定義一個變數是這樣的

      

int a;int>0;

同樣在GO語言中,代碼是這樣的,後面加不加分號都可以

var a int = 1var b intb = 0


函數的定義是這樣

func add(a int , b int) int {    return a + b}

func 關鍵 參數 傳回值

可以看出C和GO的最大不同就是GO把類型的聲明放在了最後。

所以你可以定義一個匿名的函數

sum = func(a int , b int) int {        return a + b    }(1, 3)

不知道GO會不會支援lambda運算式,否則這樣寫太複雜了。

 

Package關鍵字

GO和java一樣有著包的概念,含義和java差不多這裡就不多說了

import關鍵字

GO和java、C#一樣使用的import 而不是include,因為GO已經沒有標頭檔的概念了

 

 

最後給大家一個範例檔案

 1 /** 2  * Created with IntelliJ IDEA. 3  * User: dothegod 4  * Date: 13-12-7 5  * Time: 上午11:46 6  * To change this template use File | Settings | File Templates. 7  */ 8 package main 9 10>"fmt"11 12 func add(a int , b int) int {13     return a + b14 }15 16 func main() {17     var x , y int18     x = 119     y = 220 21     var sum int22     sum = add(x, y)23     fmt.Printf("%d\n", sum)24 25     sum = func(a int , b int) int {26         return a + b27     }(1, 3)28 29     fmt.Printf("%d\n", sum)30 31     var p *int32     p = &x33     fmt.Printf("%d\n", *p)34 35 36     fmt.Printf("Hello world!")37 }

 

在IDEA中點擊make就可以編譯這個檔案了,產生的檔案在工程目錄的out目錄下,是個exe檔案,可以直接執行。

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.