社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
本文主要讨论go install/build
命令生成的文件命令和生成路径问题。将从两种情况讨论:
windows
环境下完成呢,所以生成的可执行文件以.exe
后缀结尾假设一个简单的命令源码文件所在的工程组织如下所示:
|__ 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)
}
go build demo1.go
:
在$GOPATH/src/jeekTimeProject/test
目录下生成可执行文件 demo1.exe
(以源码文件的名字命名新文件)
go build
:
在$GOPATH/src/jeekTimeProject/test
目录下生成可执行文件 test.exe
(以上层文件夹的名字命名新文件)
go build jeekTimeProject/test
:
在$GOPATH/src/jeekTimeProject/test
目录下生成可执行文件 test.exe
(以上层文件夹的名字命名新文件)
go install demo1.go
:
报错,截图如下所示:
go install
:
在$GOPATH/bin
目录下生成可执行文件 test.exe
(以上层文件夹的名字命名新文件)
设置完$GOBIN
环境变量后,运行go install demo1.go
:
在$GOBIN
目录下生成可执行文件demo1.exe
设置完$GOBIN
环境变量后,运行go install
:
在$GOBIN
目录下生成可执行文件test.exe
假设一个简单的命令源码文件所在的工程组织如下所示:
|__ 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)
}
go build demo1.go
:
报错,截图如下所示:
go build demo1.go demo1_lib.go
:
在$GOPATH/src/jeekTimeProject/test
目录下生成可执行文件 demo1.exe
(以源码文件的名字命名新文件)
go build
:
在$GOPATH/src/jeekTimeProject/test
目录下生成可执行文件 test.exe
(以上层文件夹的名字命名新文件)
go build jeekTimeProject/test
:
在$GOPATH/src/jeekTimeProject/test
目录下生成可执行文件 test.exe
(以上层文件夹的名字命名新文件)
go install demo1.go
:
报错,截图如下所示:
go install demo1.go demo1_lib.go
:
报错,截图如下所示:
go install
:
在$GOPATH/bin
目录下生成可执行文件 test.exe
(以上层文件夹的名字命名新文件)
设置完$GOBIN
环境变量后,运行go install demo1.go
:
报错,截图如下:
设置完$GOBIN
环境变量后,运行go install demo1.go demo1_lib.go
:
在$GOBIN
目录下生成可执行文件demo1.exe
设置完$GOBIN
环境变量后,运行go install
:
在$GOBIN
目录下生成可执行文件test.exe
(以上层文件夹的名字命名新文件)
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!