go學習開篇

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

       我是做java開發的,從接觸java開始算,已經8年了,為什麼會想到學go語言呢?前端時間我一直在學習jvm,java的一些更底層的東西,梳理回顧時,感覺可以通過學習其他開發語言,來提升我對java的理解,站在另一個角度來看java。但是又怕是蜻蜓點水式的學,達不到效果,於是有了接下來的文章,希望能寫下去。         go的曆史這裡就不談了,算一個很有背景的語言。後面的文章內容,基本都會涉及到go語言和java的比較。       我們開始吧!我們先向以前的編程前輩致敬,來一個hello world。 
package main import "fmt" func main() {    // 單行注釋    /*      多行注釋     */    fmt.Println("Hello, World!")}

  

 代碼分三部分
  •       包聲明
  •       匯入包
  •       函數
 包聲明:go語言限制程式入口的go檔案,必須命名為main,否則報錯。          
go run: cannot run non-main package

  

 匯入包:後面的輸出語句用到了fmt包。但是go語言有個不同的地方是如果後面代碼裡沒有用到前面匯入的bao,將會報錯。
# command-line-arguments./hello_world.go:4: imported and not used: "flag"

  

 函數:我們看到go語言的入口是一個函數,沒有類存在。func是go語言定義函數的關鍵字。函數名是main,入口函數約定了函數名必須叫main,否則報錯:
# command-line-argumentsruntime.main: call to external function main.mainruntime.main: main.main: not definedruntime.main: undefined: main.main

   

注釋:代碼中我們能看到有單行注釋和多行注釋的格式。 我們看到函數後面跟了一個 大括弧({   ),很多人會覺得這隻是一些編程習慣。其實go語言文法要求大括弧的前半部分必須要接在一個語句後面,不能另起一行,如下:
xxx {     yyyy}

  

否則,報錯:
# command-line-arguments./hello_world.go:6: syntax error: unexpected semicolon or newline before {

  

 後面go語言的其他地方,都有這方面的要求。  我們看看java語言的hello world 。 
public class Test {     public static void main(String args[]) {        System.out.println("hello world !");    } }

  

其實java的限制就很少了,我們的包名都可以不設定,他只是對main方法有要求。go裡面沒有要求mian方法歸屬一個類。  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.