1. 程式人生 > >Go工程目錄介紹及go程式編譯執行介紹

Go工程目錄介紹及go程式編譯執行介紹

目錄介紹:

Go工程中共有三個部分,分別是:src、pkg、bin。

src:存放go原始碼檔案

pkg:存放編譯後的包檔案

bin:存放編譯後的可執行檔案

注意:src目錄需要手動建立,一般pkg和bin目錄不需要建立,編譯時會自動建立

建立工程和編譯步驟如下:

1.新建工程目錄myproject

2.相似myproject中新建src目錄,作為原始碼檔案的儲存

3.設定go的環境變數,類似java,新增路徑到GOPATH,GOPATH=/home/user/myproject(可以同時新增多個路徑目錄,Linux下用冒號:隔開,window下分號;隔開)

4.go中原始碼檔案以包(package)的形式存在。在src目錄下建立一個包,就是新建一個資料夾myPkg

5.在myPkg包下建立go檔案,First.go

First.go程式碼

package myPkg

import  “fmt”

func  testPrint(){

fmt.Println(“Hello World\n”)

}

6.寫完程式碼後,輸入go install myPkg命令,回車後,將myPkg包打包成.a檔案,放置在myproject/pkg目錄下,為myPkg.a

7.在src下再建立一個包,為test,在test目錄下建立一個main.go檔案。

main.go程式碼

Package main

Import{

“myPkg”

“fmt”

}

Func main(){

myPkg.testPrint()

}

執行go install test命令,會在myproject/bin目錄下生成可執行檔案test

注意:go install後的檔案目錄下一定要有一個帶有package main的go檔案,才會產生可執行檔案。First.go中的package名稱最好是和目錄myPkg一致,而檔名隨意。main.go中package名為main ,所以檔名最好為main.go。(當不一致時,生成的.a檔名與目錄名相同,在import時,應該是目錄名稱,而引用包時,需要包名。)

目錄結構

bin/

    test          # command executable

pkg/

    linux_amd386/

            First.a   # package object

src/

        myPkg/

            First.go   # command source

        test/

            main.go    # package source

test測試執行:

注意:

1、建立測試資料夾,資料夾下的go檔案的package必須與資料夾名一致(不然會識別不到)

2、建立需要測試的檔案myfile.go

3、建立單元測試用例檔案myfile_test.go(檔名必須是name_test.go的型別),函式名必須是以Test開頭,例如:TestPrint()

測試多有的檔案命令:go test  將會對當前目錄下多有的name_test.go檔案進行編譯並執行測試,測試某個檔案的命令:go test -file name_test.go

有問題和建議希望留言提出或者發郵箱給我,虛心傾聽學習! 郵箱:[email protected]

相關推薦

Go工程目錄介紹go程式編譯執行介紹

目錄介紹: Go工程中共有三個部分,分別是:src、pkg、bin。 src:存放go原始碼檔案 pkg:存放編譯後的包檔案 bin:存放編譯後的可執行檔案 注意:src目錄需要手動建立,一般pkg和

Sublime:打造Go編輯器並配合使用terminal編譯執行golang程式

首先感謝網上各路網友!!! 一、Sublime下載及安裝 (1)Sublime下載 根據自己的系統版本選擇下載最新版本的sublime編輯器:https://www.sublimetext.com/3。我下載的是Ubuntu 64 bit 的tarball版本。 (2)S

FastDFS源碼學習(一)FastDFS介紹源碼編譯安裝

進行 開源 monitor html ref _id 軟連接 itl 教程 FastDFS是淘寶的余慶主導開發的一個分布式文件系統,采用C語言開發,性能較優。在淘寶網、京東商城、支付寶和某些網盤等系統均有使用,使用場景十分廣泛。 下圖來源:https://blog.csdn

MapReduce簡單介紹入門程式

1、MapReduce 入門 1.1、什麼是 MapReduce hadoop 的四大元件: HDFS:分散式儲存系統 MapReduce:分散式計算系統 YARN:hadoop 的資源排程系統 Common:以上三大元件的底層支撐元件,主要提供基礎工具包和 RPC 框架等 MapRe

Lucene介紹入門程式

1.資料分類結構化資料:指具有固定格式或有限長度的資料,如資料庫,元資料等。非結構化資料:指不定長或無固定格式的資料,如郵件,word文件等磁碟上的檔案2.非結構化資料查詢方法(1)順序掃描法:所謂順序掃描,比如要找內容包含某一個字串的檔案,就是一個文件一個文件的看,對於每一

Tomcat的工程目錄結構原始部署方法

Tomcat目錄結構 複製到Tomcat的webapps目錄下去執行的web工程,其目錄結構都必須遵守一定的標註。Tomcat的一般目錄結構為: 各目錄下包含的檔案介紹: - test下:WEB-INF資料夾、JSP檔案、HTML檔案以及一些圖片

docker compose安裝與常用命令介紹 使用docker-compose執行一個進銷存管理系統

使用微服務架構的應用系統一般包含若干個微服務,每個微服務一般都會部署多個例項。如果每個微服務都要手動啟停,那麼效率之低,維護量之大可想而知 docker compose 是一個用於定義和執行多容器docker應用程式的工具   安裝: 下在並安裝適應系統版本的compose

釋出的所有程式示例執行介紹

資料夾目錄結構       bin資料夾       bin資料夾中包含了執行程式,每個程式是由兩個exe組成,一個是主程式,一個是套在主程式之上的外殼也就是App結尾的。 直接啟動不帶App結尾

I實驗箱s3c2410子板led驅動程式編譯執行

開發板:EDUKIT-III實驗箱,S3C2410+LINUX2.4.18,實驗箱隨箱光碟提供的Zimage,nor flash啟動。 主機:ubnutn10.4LTS,arm-linux-gcc 2.95.3,linux核心為隨箱提供的核心原始碼和補丁檔案,核心版本號為2.4.18 [1.系統環

C++程式編譯執行後窗口一閃而過問題

 問題:剛開始學習C++寫win32 console application 程式的時候使用不同的編譯器結果顯示的那個視窗可能閃一下就消失了。      解決辦法:有的編譯器很好,在示例程式中給出了類似的解決辦法,如在devC++下,新建一個非空的C++類的時候,在re

一個c程式編譯執行的步驟

一個c程式的步驟: 1、編寫c程式碼: 1.5、在編譯前會行進行預編譯指令,如:include指令,就是將.h中檔案中的內容copy過來. 2、編譯中的目的碼:二進位制。這個過程c的編譯器來完成

使用docker 釋出的go編譯程式無法執行的問題

今天在容器中執行go靜態編譯的程式無法執行,提示 可執行程式 not found。經過嘗試發現將程式放在較大容器映象中的可以執行,放在小容器映象(比如busybox,scratch)中無法執行。  後來發現go 編譯的程式如果涉及net package,還是會動態編譯的。 解決

golang第二課---go語言介紹版本檢視

跨平臺特性 Go語言和Java,Python一樣,也是支援跨平臺的。另外,Go語言還有黑科技:支援跨平臺編譯。比如你手頭只有Mac系統,而你的使用者有Linux和Windows的,他們也想使用你的Go語言程式,你可以通過交叉編譯出Linux和Windows上的可執行

go語言學習(二):函式、閉包、工程目錄

1.不定引數型別 func MyFun01(a int, b int){ //a = 111 fmt.Println(“a =”, a,b) } //…type不定引數型別 func MyFunc02(args …int){ //傳遞的實參可以是0個或者多個 //fmt.Println(“l

Android 專案的建立工程目錄介紹

Android 專案的建立: 1.File–》new–》Android application project 2.application name: 釋出後應用市場的名字 3.project name:專案名稱 4.Package name:包名 5.Mini

Go監控目錄變化小程式.

package main import ( "flag" "log" "os/exec" "strings" "sync" "time" "github.com/go-fsnotif

人機博弈 圍棋程式GNU GO 所有版本原始碼使用方法

GNU Go是免費的帶原始碼的人機對弈軟體,棋力在九級左右。和其它GNU 軟體一樣, 它遵從 GNU 公用許可證GPL。你可免費獲得它的原始碼,並可自由使用和修改。 但GNU GO只提供字元介面,更多相關內容請參見其主頁: http://www.gnu.org/softwa

(2)go-ethereum 目錄大概介紹

accounts 實現了一個高等級的以太坊賬戶管理 bmt 二進位制的默克爾樹的實現 build 主要是編譯和構建的一些指令碼和配置 cmd 命令列工具,又分了很多的命令列工

Windows 下 IDEA + Go 外掛 編譯Go工程

note:主要是編譯專案時的配置有點坑,記錄一下 Go安裝 雖然這個和百度的索引上那個被牆了的網址不一樣,但這個就是官方給的大陸地區連結。Windows直接下載msi檔案安裝,會自動設定好環境變數。 安裝完以後開啟命令列,輸入

Linux下編譯執行Go程式

編譯 go build test.go 指定輸出檔案 go build -o mygameserver 修改許可權命令 chmod 777 程式名稱 後臺執行的命令 nohup ./程式名 & 不輸出錯誤資訊 nohup .