Go語言學習(一):hello world

      從2011年7月接觸Android到如今已經兩年半有多了,Java接觸多了,總以爲它有點繁瑣。Go出現了以後,一直想抽出點時間學習,因爲各類緣由如今纔開始。我是一邊看《Go Web編程》,一邊看官網的相關文檔學習的。git

      每學一門語言,程序猿們老是不厭其煩地寫一遍hello world,這篇就是Go語言的hello world。github

      Go語言的環境搭建建議參考《Go Web編程》的第一章:Go 環境配置,裏面寫得足夠詳細。若是以爲《Go Web編程》裏面寫得太繁瑣,也能夠看官網的Getting Startedgolang

      環境搭建好以後,就能夠在GOPATH的目錄下新建src、pkg、bin這三個目錄了。這三個目錄的用途以下:web

  1. src:存放源代碼編程

  2. pkg:存放編譯後生成的文件,我的理解是相似於Java中存放jar包的lib目錄。windows

  3. bin:存放編譯後生成的可執行文件app

      在src目錄下新建helloworld目錄,相似於一個project的名稱吧,固然,正規點的話就在src目錄下新建com.XXX目錄,而後在com.XXX目錄下再新建helloworld目錄。函數

      在helloworld目錄下新建helloworld.go文件,在文件中輸入下面的代碼:學習

package main

import "fmt"

func main() {
    fmt.Printf("hello, world!\n")
}

      命令行窗口進入到helloworld目錄,鍵入命令:go run helloworld.go,就會返回結果:ui

hello, world!

      Go使用package來組織代碼。代碼中第一行package <pkgName>告訴咱們當前文件屬於哪個包,而源碼中的main則告訴咱們它是一個可獨立運行的包,它編譯後會產生可執行文件。除了main包以外,其餘包編譯後會產生*.a文件(也就是包文件)並放置在$GOPATH/pkg/$GOOS_$GOARCH目錄下(個人是:D:\GO_DATA\pkg\windows_amd64)。

      此外,每個可獨立運行的Go程序,一定包含一個package main,並且在這個main包中一定包含一個入口函數main,這個函數既沒有參數,也買有返回值。


      我的疑問,入口函數沒有參數,那要寫一個帶外部參數的可運行程序該怎麼寫?舉個例子,假如go這個程序是用Go語言寫的,那麼go這個程序的main函數如何得到命令行中的參數從而執行不一樣的操做,如上文的命令:「go run helloworld.go」。

相關文章
相關標籤/搜索