Go專案的目錄結構

2022-01-31 08:53:19 字數 2808 閱讀 5577

專案目錄結構如何組織,一般語言都是沒有規定。但go語言這方面做了規定,這樣可以保持一致性,做到統

一、規則化比較明確。

1、一般的,乙個go專案在gopath下,會有如下三個目錄:

|--bin

|--pkg

|--src

其中,bin存放編譯後的可執行檔案;pkg存放編譯後的包檔案;src存放專案原始檔。

一般,bin和pkg目錄可以不建立,go命令會自動建立(如 go install),只需要建立src目錄即可。

對於pkg目錄,曾經有人問:我把go中的包放入pkg下面,怎麼不行啊?他直接把go包的原始檔放入了pkg中。

這顯然是不對的。pkg中的檔案是go編譯生成的,而不是手動放進去的。(一般檔案字尾.a)

對於src目錄,存放原始檔,go中原始檔以包(package)的形式組織。通常,新建乙個包就在src目錄中新建乙個資料夾。

2、舉例說明

比如:我新建乙個專案,myfirst,開始的目錄結構如下:

myfirst--

|--src

為了編譯方便,增加了乙個install檔案,目錄結構:

myfirst

|—install.bat

|—src

之所以加上這個install.bat,是不用配置gopath(避免新增乙個go專案就要往gopath中增加乙個路徑)

接下來,增加乙個包:config和乙個main程式。目錄結構如下:

注意,config.go中的package名稱必須最好和目錄config一致,而檔名可以隨便。main.go表示main包,檔名建議為main.go。(注:不一致時,生成的.a檔名和目錄名一致,這樣,在import 時,應該是目錄名,而引用包時,需要包名。例如:目錄為myconfig,包名為config,則生產的靜態包檔案是:myconfig.a,引用該包:import 「myconfig」,使用包中成員:config.loadconfig())

onfig.go和main.go的**如下:

install.bat配置說明:

注:冒號和ok之間不應該有空格。

開啟命令列,找到d:\myfirst目錄,輸入install,執行如下:

執行完之後,生成pkg目錄:

經過反覆重試,install.bat修改如下:

@echo off

setlocal

if exist install.bat goto

okecho install.bat must be run

from

its folder

goto

end: ok

set oldgopath=%gopath%

set gopath=%cd%gofmt -w src

go install myfirst

set gopath=oldgopath

:end

echo finished

config.go修改如下:

package config

func loadconfig()

函式名稱為大寫開頭。

Go專案的目錄結構

專案目錄結構如何組織,一般語言都是沒有規定。但go語言這方面做了規定,這樣可以保持一致性,做到統 一 規則化比較明確。1 一般的,乙個go專案在gopath下,會有如下三個目錄 bin pkg src 其中,bin存放編譯後的可執行檔案 pkg存放編譯後的包檔案 src存放專案原始檔。一般,bin和...

Go專案的目錄結構

專案目錄結構如何組織,一般語言都是沒有規定。但go語言這方面做了規定,這樣可以保持一致性,做到統 一 規則化比較明確。1 一般的,乙個go專案在gopath下,會有如下三個目錄 bin pkg src 其中,bin存放編譯後的可執行檔案 pkg存放編譯後的包檔案 src存放專案原始檔。一般,bin和...

Go專案的目錄結構詳解

專案目錄結構如何組織,一般語言都是沒有規定。但go語言這方面做了規定,這樣可以保持一致性。1 一般的,乙個go專案在gopath下,會有如下三個目錄 複製 如下 bin pkg src 其中,bin存放編譯後的可執行檔案 pkg存放編譯後的包檔案 src存放專案原始檔。一般,bin和pkg目錄可以不...