go install/build生成的文件命名和路径操作

1. 写在前面

本文主要讨论go install/build命令生成的文件命令和生成路径问题。将从两种情况讨论:

文件夹下只有一个“命令源码文件”

文件夹下既有命令源码文件还有其他源码文件

以下实验主要在windows环境下完成呢,所以生成的可执行文件以.exe后缀结尾

2. 文件夹下只有一个“命令源码文件”

假设一个简单的命令源码文件所在的工程组织如下所示:

|__ 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目录下生成可执行文件 demo1.exe(以源码文件的名字命名新文件)

2、go build:

在$GOPATH/src/jeekTimeProject/test目录下生成可执行文件 test.exe(以上层文件夹的名字命名新文件)

3、go build jeekTimeProject/test:

在$GOPATH/src/jeekTimeProject/test目录下生成可执行文件 test.exe(以上层文件夹的名字命名新文件)

4、go install demo1.go:

报错,截图如下所示:

5、go install:

在$GOPATH/bin目录下生成可执行文件 test.exe (以上层文件夹的名字命名新文件)

6、设置完$GOBIN环境变量后,运行go install demo1.go:

在$GOBIN目录下生成可执行文件demo1.exe

7、设置完$GOBIN环境变量后,运行go install:

在$GOBIN目录下生成可执行文件test.exe

3. 文件夹下既有命令源码文件还有其他源码文件

假设一个简单的命令源码文件所在的工程组织如下所示:

|__ 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:

报错,截图如下所示:

2、go build demo1.go demo1_lib.go:

在$GOPATH/src/jeekTimeProject/test目录下生成可执行文件 demo1.exe(以源码文件的名字命名新文件)

3、go build:

在$GOPATH/src/jeekTimeProject/test目录下生成可执行文件 test.exe(以上层文件夹的名字命名新文件)

4、go build jeekTimeProject/test:

在$GOPATH/src/jeekTimeProject/test目录下生成可执行文件 test.exe(以上层文件夹的名字命名新文件)

5、go install demo1.go:

报错,截图如下所示:

6、go install demo1.go demo1_lib.go:

报错,截图如下所示:

7、go install:

在$GOPATH/bin目录下生成可执行文件 test.exe (以上层文件夹的名字命名新文件)

8、设置完$GOBIN环境变量后,运行go install demo1.go:

报错,截图如下:

9、设置完$GOBIN环境变量后,运行go install demo1.go demo1_lib.go:

在$GOBIN目录下生成可执行文件demo1.exe

10、设置完$GOBIN环境变量后,运行go install:

在$GOBIN目录下生成可执行文件test.exe(以上层文件夹的名字命名新文件)

补充:go build后加文件和目录的区别

go build + xxx.go:生成以xxx命名的可执行文件

go build + dir / go build . / go build:生成以目录名命名的可执行文件

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。

以上是 go install/build生成的文件命名和路径操作 的全部内容, 来源链接: utcz.com/p/235691.html

回到顶部