go語言基礎之工程管理和工做區介紹

一、工程管理工具

        在實際的開發工做中,直接調用編譯器進行編譯和連接的場景是少而又少,由於在工程中不會簡單到只有一個源代碼文件,且源文件之間會有相互的依賴關係。若是這樣一個文件一個文件逐步編譯,那不亞於一場災難。 Go語言的設計者做爲行業老將,天然不會忽略這一點。早期Go語言使用makefile做爲臨時方案,到了Go 1發佈時引入了強大無比的Go命令行工具。ui

        Go命令行工具的革命性之處在於完全消除了工程文件的概念,徹底用目錄結構和包名來推導工程結構和構建順序。針對只有一個源文件的狀況討論工程管理看起來會比較多餘,由於這能夠直接用go run和go build搞定。下面咱們將用一個更接近現實的虛擬項目來展現Go語言的基本工程管理方法。命令行

 

二、工做區介紹設計

Go代碼必須放在工做區中。工做區其實就是一個對應於特定工程的目錄,它應包含3個子目錄:src目錄、pkg目錄和bin目錄。開發

  1.  src目錄:用於以代碼包的形式組織並保存Go源碼文件。(好比:.go .c .h .s等)
  2.  pkg目錄:用於存放經由go install命令構建安裝後的代碼包(包含Go庫源碼文件)的「.a」歸檔文件。
  3.  bin目錄:與pkg目錄相似,在經過go install命令完成安裝後,保存由Go命令源碼文件生成的可執行文件。

       目錄src用於包含全部的源代碼,是Go命令行工具一個強制的規則,而pkg和bin則無需手動建立,若是必要Go命令行工具在構建過程當中會自動建立這些目錄。編譯器

       須要特別注意的是,只有當環境變量GOPATH中只包含一個工做區的目錄路徑時,go install命令纔會把命令源碼安裝到當前工做區的bin目錄下。若環境變量GOPATH中包含多個工做區的目錄路徑,像這樣執行go install命令就會失效,此時必須設置環境變量GOBIN。源碼

相關文章
相關標籤/搜索