go install/build生成的文件命名和路徑操作
1. 寫在前面
本文主要討論go install/build命令生成的文件命令和生成路徑問題。將從兩種情況討論:
文件夾下只有一個(gè)“命令源碼文件”
文件夾下既有命令源碼文件還有其他源碼文件
以下實(shí)驗(yàn)主要在windows環(huán)境下完成呢,所以生成的可執(zhí)行文件以.exe后綴結(jié)尾
2. 文件夾下只有一個(gè)“命令源碼文件”
假設(shè)一個(gè)簡(jiǎn)單的命令源碼文件所在的工程組織如下所示:
|__ src
|__ jeekTimeProject
|__ test
|__demo1.go
其中demo1.go的ackage name是 main
//demo1.go package main import ( "flag" ) var name string func init() { flag.StringVar( &name, "name", "everyone", "The greeting object.") } func main() { flag.Parse() fmt.Printf("Hello, %s!\n", name) }
1、go build demo1.go:
在$GOPATH/src/jeekTimeProject/test目錄下生成可執(zhí)行文件 demo1.exe(以源碼文件的名字命名新文件)
2、go build:
在$GOPATH/src/jeekTimeProject/test目錄下生成可執(zhí)行文件 test.exe(以上層文件夾的名字命名新文件)
3、go build jeekTimeProject/test:
在$GOPATH/src/jeekTimeProject/test目錄下生成可執(zhí)行文件 test.exe(以上層文件夾的名字命名新文件)
4、go install demo1.go:
報(bào)錯(cuò),截圖如下所示:
5、go install:
在$GOPATH/bin目錄下生成可執(zhí)行文件 test.exe (以上層文件夾的名字命名新文件)
6、設(shè)置完$GOBIN環(huán)境變量后,運(yùn)行g(shù)o install demo1.go:
在$GOBIN目錄下生成可執(zhí)行文件demo1.exe
7、設(shè)置完$GOBIN環(huán)境變量后,運(yùn)行g(shù)o install:
在$GOBIN目錄下生成可執(zhí)行文件test.exe
3. 文件夾下既有命令源碼文件還有其他源碼文件
假設(shè)一個(gè)簡(jiǎn)單的命令源碼文件所在的工程組織如下所示:
|__ src
|__ jeekTimeProject
|__ test
|__demo1.go
|__demo1_lib.go
其中demo1.go和demo1_lib.go的package name是 main
// demo1.go package main import ( "flag" ) var name string func init() { flag.StringVar( &name, "name", "everyone", "The greeting object.") } func main() { flag.Parse() hello(name) }
//demo1_lib.go package main import "fmt" func hello(name string) { fmt.Printf("Hello, %s!\n", name) }
1、go build demo1.go:
報(bào)錯(cuò),截圖如下所示:
2、go build demo1.go demo1_lib.go:
在$GOPATH/src/jeekTimeProject/test目錄下生成可執(zhí)行文件 demo1.exe(以源碼文件的名字命名新文件)
3、go build:
在$GOPATH/src/jeekTimeProject/test目錄下生成可執(zhí)行文件 test.exe(以上層文件夾的名字命名新文件)
4、go build jeekTimeProject/test:
在$GOPATH/src/jeekTimeProject/test目錄下生成可執(zhí)行文件 test.exe(以上層文件夾的名字命名新文件)
5、go install demo1.go:
報(bào)錯(cuò),截圖如下所示:
6、go install demo1.go demo1_lib.go:
報(bào)錯(cuò),截圖如下所示:
7、go install:
在$GOPATH/bin目錄下生成可執(zhí)行文件 test.exe (以上層文件夾的名字命名新文件)
8、設(shè)置完$GOBIN環(huán)境變量后,運(yùn)行g(shù)o install demo1.go:
報(bào)錯(cuò),截圖如下:
9、設(shè)置完$GOBIN環(huán)境變量后,運(yùn)行g(shù)o install demo1.go demo1_lib.go:
在$GOBIN目錄下生成可執(zhí)行文件demo1.exe
10、設(shè)置完$GOBIN環(huán)境變量后,運(yùn)行g(shù)o install:
在$GOBIN目錄下生成可執(zhí)行文件test.exe(以上層文件夾的名字命名新文件)
補(bǔ)充:go build后加文件和目錄的區(qū)別
go build + xxx.go:生成以xxx命名的可執(zhí)行文件
go build + dir / go build . / go build:生成以目錄名命名的可執(zhí)行文件
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
golang中struct和[]byte的相互轉(zhuǎn)換示例
這篇文章主要介紹了golang中struct和[]byte的相互轉(zhuǎn)換示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-07-07詳解Golang中errors包如何返回自定義error類型
這篇文章主要為大家詳細(xì)介紹了Golang中errors包如何返回自定義error類型,文中的示例代碼簡(jiǎn)潔易懂,有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-09-09Go語言開發(fā)技巧必知的小細(xì)節(jié)提升效率
這篇文章主要介紹了Go語言開發(fā)技巧必知的小細(xì)節(jié)提升效率,分享幾個(gè)你可能不知道的Go語言小細(xì)節(jié),希望能幫助大家更好地學(xué)習(xí)這門語言2024-01-01