go學習開篇


 
      我是做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-arguments
runtime.main: call to external function main.main
runtime.main: main.main: not defined
runtime.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方法歸屬一個類。
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM