婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Go項目的目錄結構詳解

Go項目的目錄結構詳解

熱門標簽:經常接到推銷電話機器人的電話 客服級電銷機器人 工商信用卡外呼系統教程 滁州自建外呼系統 旅游廁所如何電子地圖標注 海外照相館地圖標注入駐 外呼系統如何接收服務密碼 智能營銷軟件 外呼系統多少錢一年

項目目錄結構如何組織,一般語言都是沒有規定。但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、舉例說明

比如:我新建一個項目,test,開始的目錄結構如下:

復制代碼 代碼如下:

test--|--src

為了編譯方便,我在其中增加了一個install文件,目錄結構:

復制代碼 代碼如下:

test/
|-- install
`-- src

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

復制代碼 代碼如下:

#!/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程序。目錄結構如下:

復制代碼 代碼如下:

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

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

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

config.go代碼

復制代碼 代碼如下:

package config

func LoadConfig() {
 
}

main.go代碼

復制代碼 代碼如下:

package main

import (
 "config"
 "fmt"
)

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

接下來,在項目根目錄執行./install

這時候的目錄結構為:

復制代碼 代碼如下:

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

其中config.a是包config編譯后生成的;bin/test是生成的二進制文件

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

3、補充說明

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

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

復制代碼 代碼如下:

import “./config”

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

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

可見,local import不依賴于GOPATH

4、Windows下的install.bat

復制代碼 代碼如下:

@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之間不應該有空格,但是放在一起總是會被wordpress轉成一個表情。汗……

5、更新日志

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

您可能感興趣的文章:
  • MongoDB學習筆記(四) 用MongoDB的文檔結構描述數據關系
  • Go語言基礎知識總結(語法、變量、數值類型、表達式、控制結構等)
  • Go語言的代碼組織結構詳細介紹
  • Go語言中的流程控制結構和函數詳解
  • go語言工程結構

標簽:九江 本溪 湘潭 運城 深圳 楚雄 晉城 喀什

巨人網絡通訊聲明:本文標題《Go項目的目錄結構詳解》,本文關鍵詞  項,目的,目錄,結構,詳解,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Go項目的目錄結構詳解》相關的同類信息!
  • 本頁收集關于Go項目的目錄結構詳解的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    色综合天天综合网国产成人综合天| 国产精品久久久久久久久久久免费看| 国产成人在线观看| 青青草成人在线观看| 水野朝阳av一区二区三区| 亚洲精品菠萝久久久久久久| 亚洲综合图片区| 亚洲制服丝袜av| 午夜av区久久| 久久精品国产精品青草| 国模冰冰炮一区二区| 国产成人在线电影| 91麻豆高清视频| 欧美日韩国产精品自在自线| 欧美日本一区二区| 欧美精品一区二区三区在线播放| 久久影音资源网| 国产精品久久久久桃色tv| 日韩美女久久久| 亚洲国产另类av| 久久国产成人午夜av影院| 国产成人亚洲综合a∨猫咪| 色婷婷精品久久二区二区蜜臀av | 国产一区二区三区久久久 | 国产精品视频一二三区| 99re8在线精品视频免费播放| 97精品久久久午夜一区二区三区| 欧美在线观看一二区| 91精品国产综合久久久久| 欧美成人欧美edvon| 亚洲欧洲日韩在线| 日产精品久久久久久久性色| 粉嫩aⅴ一区二区三区四区| 欧美影院精品一区| 久久久影院官网| 午夜精品久久久久久| 国产91综合网| 51精品国自产在线| 国产精品白丝在线| 日本美女一区二区三区视频| 粉嫩高潮美女一区二区三区| 欧美日韩免费在线视频| 久久精品亚洲麻豆av一区二区| kk眼镜猥琐国模调教系列一区二区| 欧美美女直播网站| 日韩理论片中文av| 91黄色在线观看| 日韩av午夜在线观看| 国产亚洲一区字幕| 99综合影院在线| 免费成人结看片| 天堂蜜桃91精品| 欧美日韩一二三| 亚洲高清久久久| 麻豆精品视频在线| 亚洲va韩国va欧美va精品| 日韩av一二三| 午夜精品久久久久久久久久| av亚洲精华国产精华精华| 精品国产区一区| 日本欧美肥老太交大片| 欧美影院午夜播放| 一区二区三区加勒比av| 成人网在线播放| 国产精品毛片无遮挡高清| 国产精品 日产精品 欧美精品| 91麻豆精品国产91久久久久 | 北条麻妃一区二区三区| 精品三级av在线| 免费在线观看一区二区三区| 欧美日韩中文字幕一区| 亚洲婷婷综合久久一本伊一区| 国产福利视频一区二区三区| 精品日韩一区二区三区| 裸体一区二区三区| 欧美一区二区三区性视频| 日本不卡视频一二三区| 欧美一级片免费看| 免费精品视频在线| 26uuuu精品一区二区| 国产电影一区在线| 中文字幕亚洲精品在线观看| 99久久婷婷国产综合精品电影| 中文字幕成人在线观看| 91在线观看视频| 亚洲国产日韩综合久久精品| 99精品国产99久久久久久白柏| 国产精品国产三级国产aⅴ中文 | 亚洲一区二区欧美激情| 91久久精品日日躁夜夜躁欧美| 亚洲午夜激情av| 日韩一区二区三区av| 国产精品中文字幕欧美| 国产精品网站在线播放| 色94色欧美sute亚洲线路一ni| 亚洲资源中文字幕| 日韩一级欧美一级| 成人午夜av电影| 婷婷亚洲久悠悠色悠在线播放| 日韩欧美资源站| www.久久精品| 日本午夜精品一区二区三区电影 | 日韩一区二区精品葵司在线| 麻豆91在线播放免费| 亚洲国产精品国自产拍av| 日本韩国一区二区三区| 蜜桃视频第一区免费观看| 亚洲欧洲成人自拍| 欧美丰满嫩嫩电影| www.av亚洲| 国产一区二区主播在线| 一区二区三区四区中文字幕| 精品国产青草久久久久福利| 91免费视频大全| 久久福利视频一区二区| 日韩理论电影院| 精品国产乱码久久| 欧美日韩精品电影| 成人av影院在线| 麻豆freexxxx性91精品| ...中文天堂在线一区| xvideos.蜜桃一区二区| 欧美天堂亚洲电影院在线播放| 国产成人av一区| 日韩福利电影在线观看| 亚洲欧美二区三区| 久久久久久日产精品| 91精品婷婷国产综合久久性色 | 麻豆精品视频在线观看免费| 亚洲一区二区视频| 国产精品每日更新| 亚洲国产精品t66y| 久久精品男人天堂av| 精品久久国产字幕高潮| 欧美一区三区二区| 欧美日本一区二区三区四区| 在线观看日韩电影| 色婷婷久久综合| 欧美中文字幕久久| 91国内精品野花午夜精品| 9色porny自拍视频一区二区| 不卡欧美aaaaa| 成人高清视频在线观看| 高清av一区二区| 国产精品自拍毛片| 国精产品一区一区三区mba桃花| 日本成人超碰在线观看| 秋霞午夜av一区二区三区| 日本不卡中文字幕| 日本系列欧美系列| 国模冰冰炮一区二区| 丰满放荡岳乱妇91ww| 99视频精品免费视频| 91视频一区二区| 欧美性大战久久久| 911精品国产一区二区在线| 91精选在线观看| 欧美精品一区二区不卡| 国产日韩欧美综合一区| 国产精品婷婷午夜在线观看| 亚洲精品美国一| 首页亚洲欧美制服丝腿| 婷婷中文字幕综合| 国产一区二区在线看| av电影一区二区| 在线91免费看| 久久精品人人做人人综合 | 免费观看成人av| 九九热在线视频观看这里只有精品| 国产精品一卡二卡在线观看| 不卡高清视频专区| 欧美日韩国产综合一区二区三区 | 日本亚洲一区二区| 国产成人aaa| 在线欧美日韩精品| 日韩视频免费观看高清在线视频| 久久青草欧美一区二区三区| 中文字幕中文在线不卡住| 亚洲福利视频一区二区| 国产激情视频一区二区三区欧美 | 五月婷婷久久综合| 国产在线一区二区| 色综合色狠狠综合色| 日韩欧美一区二区视频| 综合精品久久久| 久久66热re国产| 色婷婷狠狠综合| 精品国产乱码久久| 午夜精品123| 91网址在线看| 久久久久久久综合日本| 亚洲高清视频在线| 国产高清久久久| 日韩欧美视频在线| 一区二区三区产品免费精品久久75| 蜜桃视频一区二区| 欧美人妇做爰xxxⅹ性高电影| 国产欧美日韩久久| 麻豆国产欧美一区二区三区| 欧美色综合网站|