亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Golang > 正文

Go項目的目錄結(jié)構(gòu)詳解

2020-04-01 19:25:44
字體:
供稿:網(wǎng)友
這篇文章主要介紹了Go項目的目錄結(jié)構(gòu),對基礎(chǔ)目錄做了講解,對項目開發(fā)中的其它目錄也一并做了介紹,需要的朋友可以參考下
 

項目目錄結(jié)構(gòu)如何組織,一般語言都是沒有規(guī)定。但Go語言這方面做了規(guī)定,這樣可以保持一致性。

1、一般的,一個Go項目在GOPATH下,會有如下三個目錄:

 

復(fù)制代碼代碼如下:

|--bin
|--pkg
|--src

 

其中,bin存放編譯后的可執(zhí)行文件;pkg存放編譯后的包文件;src存放項目源文件。一般,bin和pkg目錄可以不創(chuàng)建,go命令會自動創(chuàng)建(如 go install),只需要創(chuàng)建src目錄即可。

對于pkg目錄,曾經(jīng)有人問:我把Go中的包放入pkg下面,怎么不行???他直接把Go包的源文件放入了pkg中。這顯然是不對的。pkg中的文件是Go編譯生成的,而不是手動放進(jìn)去的。(一般文件后綴.a)

對于src目錄,存放源文件,Go中源文件以包(package)的形式組織。通常,新建一個包就在src目錄中新建一個文件夾。

2、舉例說明

比如:我新建一個項目,test,開始的目錄結(jié)構(gòu)如下:

 

復(fù)制代碼代碼如下:

test--|--src

 

為了編譯方便,我在其中增加了一個install文件,目錄結(jié)構(gòu):

 

復(fù)制代碼代碼如下:

test/
|-- install
`-- src

 

其中install的內(nèi)容如下:(linux下)

 

復(fù)制代碼代碼如下:

#!/usr/bin/env bash

 

if [ ! -f install ]; then
echo 'install must be run within its container folder' 1>&2
exit 1
fi

CURDIR=`pwd`
OLDGOPATH="$GOPATH"
export GOPATH="$CURDIR"

gofmt -w src

go install test

export GOPATH="$OLDGOPATH"

echo 'finished'

 

之所以加上這個install,是不用配置GOPATH(避免新增一個GO項目就要往GOPATH中增加一個路徑)

接下來,增加一個包:config和一個main程序。目錄結(jié)構(gòu)如下:

 

復(fù)制代碼代碼如下:

test
|-- install
`-- src
    |-- config
    |   `-- config.go
    `-- test
        `-- main.go

 

注意,config.go中的package名稱必須最好和目錄config一致,而文件名可以隨便。main.go表示main包,文件名建議為main.go。(注:不一致時,生成的.a文件名和目錄名一致,這樣,在import 時,應(yīng)該是目錄名,而引用包時,需要包名。例如:目錄為myconfig,包名為config,則生產(chǎn)的靜態(tài)包文件是:myconfig.a,引用該包:import “myconfig”,使用包中成員:config.LoadConfig())

config.go和main.go的代碼如下:

config.go代碼

 

復(fù)制代碼代碼如下:

package config

 

func LoadConfig() {
 
}

 

main.go代碼

 

復(fù)制代碼代碼如下:

package main

 

import (
 "config"
 "fmt"
)

func main() {
 config.LoadConfig()
 fmt.Println("Hello, GO!")
}

 

接下來,在項目根目錄執(zhí)行./install

這時候的目錄結(jié)構(gòu)為:

 

復(fù)制代碼代碼如下:

test
|-- bin
|   `-- test
|-- install
|-- pkg
|   `-- linux_amd64
|       `-- config.a
`-- src
    |-- config
    |   `-- config.go
    `-- test
        `-- main.go
  (linux_amd64表示我使用的操作系統(tǒng)和架構(gòu),你的可能不一樣)

 

其中config.a是包c(diǎn)onfig編譯后生成的;bin/test是生成的二進(jìn)制文件

這個時候可以執(zhí)行:bin/test了。會輸出:Hello, GO!

3、補(bǔ)充說明

1)包可以多層目錄,比如:net/http包,表示源文件在src/net/http目錄下面,不過源文件中的包名是最后一個目錄的名字,如http
而在import包時,必須完整的路徑,如:import “net/http”

2)有時候會見到local import(不建議使用),語法類似這樣:

復(fù)制代碼代碼如下:

import “./config”

 

當(dāng)代碼中有這樣的語句時,很多時候都會見到類似這樣的錯誤:local import “./config” in non-local package

我所了解的這種導(dǎo)入方式的使用是:當(dāng)寫一個簡單的測試腳本,想要使用go run命令時,可以使用這種導(dǎo)入方式。
比如上面的例子,把test/main.go移到src目錄中,test目錄刪除,修改main.go中的import “config”為import “./config”,然后可以在src目錄下執(zhí)行:go run main.go

可見,local import不依賴于GOPATH

4、Windows下的install.bat

 

復(fù)制代碼代碼如下:

@echo off

 

setlocal

if exist install.bat goto ok
echo install.bat must be run from its folder
goto end

: ok

set OLDGOPATH=%GOPATH%
set GOPATH=%~dp0

gofmt -w src

go install test

:end
echo finished

 

注,冒號和ok之間不應(yīng)該有空格,但是放在一起總是會被wordpress轉(zhuǎn)成一個表情。汗……

5、更新日志

1)2012-12-05 發(fā)布
2)2013-04-13 修正:目錄名可以和包名不同,但建議一致;將make文件名改為install


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
av毛片免费| 久久久噜噜噜| 精品在线观看视频| 国产高清一区二区三区视频| www.夜夜爱| 一区免费视频| 久久久精品视频在线| 91免费福利视频| 国产精品一区而去| 美洲天堂一区二卡三卡四卡视频| 日本在线一区| 国产精品91在线观看| 国产一区二区视频在线免费观看| 久久精品国产亚洲AV成人婷婷| 人妻中文字幕一区| 国产污污在线观看| 欧美一区二区免费视频| 国产综合视频一区二区三区免费| 99久在线精品99re8热| 国产欧美日韩影院| 欧美极品少妇videossex| 日韩欧美亚洲国产另类| 91女主播在线观看| www日本高清| 狠狠操在线视频| 国产精品美女视频| 激情小说图片视频| 亚洲一区二区三区视频| 国产精品一区二区三区av麻| 亚洲自拍一区在线观看| 欧美日韩在线视频一区| 僵尸世界大战2 在线播放| 欧美中文在线视频| 性色av一区二区怡红| 免费视频爱爱太爽了| 中文字幕在线中文字幕在线中三区| 91蜜桃臀久久一区二区| 中文国产一区| 国产视频精品免费| 91理论片午午论夜理片久久| 女人让男人操自己视频在线观看| 精品国产aⅴ一区二区三区东京热| 色综合久久悠悠| 黄色漫画在线免费观看| 精品成人免费自拍视频| 91短视频推广| 精品无码人妻一区二区三区品| 中文字幕天堂在线| 香港三日本8a三级少妇三级99| 欧美精品精品一区| 99国产精品99久久久久久| 北条麻妃一区二区三区在线观看| 国内精品不卡一区二区三区| 国产真实乱人偷精品视频| 欧美亚洲国产bt| av软件在线观看| 国产精品美女黄网| 欧美一级网站| h片在线观看下载| 精品久久久久久中文字幕2017| 老司机aⅴ在线精品导航| 日韩大片一区二区| 亚洲自拍第二页| 亚洲 欧美 日韩 在线| 欧美一区二区三区在线电影| 亚洲男人资源| 亚洲人成精品久久久久久| 中文字幕在线视频日韩| 亚洲精品第一国产综合精品| 国产欧美高清视频在线| 爆操欧美孕妇| 亚洲第一av网| 中文在线免费一区三区高中清不卡| h版电影在线播放视频网站| 5566成人精品视频免费| 久久久噜噜噜久噜久久| 亚洲黄色一区二区| 国产经典一区二区| 91成人精品视频| 成人小视频免费看| 先锋av资源在线| 日韩综合小视频| 69日小视频在线观看| 洋洋成人永久网站入口| 欧美视频亚洲图片| 久草福利资源在线观看| 欧美性猛交xxxx乱大交蜜桃| 精品自拍偷拍视频| 天堂网.www在线资源| 91网站在线观看免费| 亚洲国产精品精华液ab| 精品中文一区| 亚洲福利在线视频| 欧美亚洲日本| 你懂的国产精品| 亚洲承认在线| 六月婷婷在线视频| 国产精品亚洲片在线播放| 国产精品乱码一区二区| 四虎永久在线观看免费网站网址| 欧美videos另类精品| 日本精品免费观看高清观看| 6699嫩草久久久精品影院| 精品久久中文字幕久久av| 国产女人在线视频| 中文字幕av网站| 亚洲永久免费av| 国产精品蜜芽在线观看| 男人操女人免费| 久久综合网色—综合色88| 五月婷婷在线观看视频| 日本午夜精品视频| 亚洲少妇一区二区| 亚洲视频精品在线| 日韩在线中文字| 国产欧美一区在线| 97在线观看视频| 亚洲自拍偷拍欧美| 国产在线免费视频| 国产一级片自拍| 国精产品一区二区三区| 中文字幕一区二区三区四区在线视频| 精品久久久久久中文字幕大豆网| 欧美一区二区三区久久| 日韩亚洲欧美在线观看| sihu影院永久在线影院| 在线观看免费视频你懂的| 无码人妻丰满熟妇区毛片蜜桃精品| 精品国产一区二区三区不卡蜜臂| 国产大片精品免费永久看nba| 最猛黑人系列在线播放| 黄色大片在线观看| 亚洲欧美精品中文第三| 久色视频在线播放| cao在线视频| 国产久卡久卡久卡久卡视频精品| 伊人色在线观看| 色综合久久中文字幕综合网| 欧美连裤袜在线视频| 国产精品蜜臀在线观看| 天堂网av手机版| 久久99精品久久只有精品| 中文字幕国产免费| 在线日韩视频| 丰满少妇又爽又紧又丰满电影| 在线激情影院一区| 黄色福利视频网站| 欧美成人在线免费视频| 精品国产免费视频| 欧美一二三区在线| av资源免费看| 国产又粗又黄又爽视频| 亚洲欧美日韩精品久久| 欧美大片网站在线观看| 精品亚洲成a人| 人人妻人人爽人人澡人人精品| 色av性av丰满av| 国产女人18毛片水真多成人如厕| 欧美午夜片在线免费观看| 91超碰国产精品| 乡村艳史在线观看| 欧美xxxxx牲另类人与| 国产精品九九九九九九| 国产成人精品av久久| 亚洲国产精品天堂| 成人黄色av| 亚洲一区二区三区久久久| 在线视频亚洲色图| 久久久久毛片免费观看| 1024成人网色www| 男人艹女人在线观看| 中文文字幕文字幕高清| 国产精品人人爱一区二区白浆| 久久影音资源网| 日韩高清中文字幕| 欧洲亚洲精品| 欧美一区三区二区| 91精品国产高清久久久久久91| 高清日韩电视剧大全免费| 中老年在线免费视频| 久久黄色级2电影| 国产红桃视频| 亚洲欧美日韩中文字幕一区二区三区| 97人摸人人澡人人人超一碰| 亚洲精品免费在线播放| 中文字幕欧美日韩一区二区| 亚洲天堂日韩av| 欧美精品videossex性护士| 久久精品色妇熟妇丰满人妻| 欧美三片在线视频观看| 在线观看老湿视频福利| 91成人免费在线| 亚洲视频www| 精品视频一区二区三区| 欧美主播一区二区三区| 日韩视频免费直播| 精品欧美在线观看| 成人免费视频视频| 久久久蜜桃精品| 欧美一卡2卡3卡4卡无卡免费观看水多多| 亚洲精品久久久久久宅男| √8天堂资源地址中文在线| 天天操天天干天天插| 中文字幕av亚洲精品一部二部| 午夜欧美性电影| 极品少妇xxxx偷拍精品少妇| 美女激情福利视频在线观看| 亚洲一区在线观看免费| 亚洲线精品久久一区二区三区| 3p视频在线观看| 婷婷在线免费视频| 91青青草免费观看| 偷拍国模大尺度视频在线播放| 欧美 日韩 国产精品免费观看| 亚洲av毛片在线观看| 国产亚洲欧美在线视频| av网站免费线看精品| 国产一区二区三区在线观看免费| 中文字幕在线日本| 免费在线播放第一区高清av| 国产精品乱码一区二区三区软件| 精品国产一区在线| 国产一线天粉嫩馒头极品av| 国产十六处破外女视频| 日韩电影免费观看在线观看| 岛国毛片在线观看| 五月天中文字幕在线| 亚洲蜜臀av乱码久久精品蜜桃| 国产精品麻豆一区二区三区| 国产精品一区二区羞羞答答| 国产成人自拍一区| 国产美女极品在线| 久久日本片精品aaaaa国产| 日韩三区在线观看| 99久久国产视频| 日本亚洲欧美天堂免费| 蜜桃视频第一区免费观看| jizzjizzjizz孕妇| 91精品国产综合久久精品app| 亚洲熟妇av一区二区三区| 夜色激情一区二区| 日韩二区三区四区| 国产精品18久久久久久vr| 亚洲欧美一区二区三区不卡| 日日碰狠狠添天天爽超碰97| 成人做爰www免费看视频网站| 九色视频在线观看| 性xxxx视频播放免费| 中文字幕99| 欧美综合社区国产| 亚洲欧美激情视频| 国产成人av在线影院| 色欲一区二区三区精品a片| 久久久人成影片一区二区三区观看| 精品久久久久久中文字幕人妻最新| 性色88av老女人视频| 久久国产精品99精品国产| 台湾佬中文娱乐久久久| 2欧美一区二区三区在线观看视频| 亚洲国产综合人成综合网站| 国产一起色一起爱| 亚洲精品2区| 久久网福利资源网站| 国产精品9999| 国产福利一区二区三区在线观看| 一区二区三区四区欧美| 成人18夜夜网深夜福利网| 国产精品videossex国产高清| 黄色免费大片| 中国一区二区视频| 免费毛片在线不卡| 激情综合网五月| 亚洲成a人片在线www| 99高清免费国产自产拍| 亚洲裸色大胆大尺寸艺术写真| 黄网站app在线观看| 欧美精品一区在线| 日本午夜精华| 粉嫩绯色av一区二区在线观看| 国产区精品视频| 中文字幕日本三级| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲直播在线一区| 国产91露脸合集magnet| 久色视频在线播放| 你懂的在线观看视频网站| 宅男一区二区三区| 亚洲全部视频| 国产高清精品二区| 天天躁日日躁狠狠躁免费麻豆| 欧美日韩大片在线观看| 亚洲熟妇无码另类久久久| 亚洲男同性视频| 蜜臀av粉嫩av懂色av| 久久午夜免费视频| gogogo高清在线观看一区二区| 国产精品91免费在线| 少妇熟女一区二区| 精品国产拍在线观看| 国产精品一区二区三区不卡| 岛国av在线| 日产欧产va高清| 一本一本久久a久久综合精品蜜桃| 成人国产精品免费观看| 久久91亚洲| 精品国产av无码| 一区二区三区在线观看视频| 欧美黑人国产人伦爽爽爽| 蜜桃91精品入口| 九色精品视频在线观看| av不卡免费电影| 日韩欧美一区二区久久婷婷| av在线加勒比| 日韩精品2区| 国产精品xxx在线观看www| 中文字幕一区二区三区中文字幕| 亚洲网友自拍| 在线观看免费成人av| 91日韩一区二区三区| 午夜久久tv| 99热国产精品| 亚洲一级片在线看| 91精品国产色综合久久| 国产成人精品网| 国产高清精品在线观看| 中文字幕欧美日本乱码一线二线| 欧美久久一区| 亚洲中文字幕在线观看|