go install/build生成的文件命名和路径 - Go语言中文社区

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


1. 写在前面

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

  • 文件夹下只有一个“命令源码文件”
  • 文件夹下既有命令源码文件还有其他源码文件
    以下实验主要在windows环境下完成呢,所以生成的可执行文件以.exe后缀结尾

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

假设一个简单的命令源码文件所在的工程组织如下所示:
|__ src
    |__ jeekTimeProject
        |__ test
            |__demo1.go
其中demo1.goackage namemain

//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:
    报错,截图如下所示:
    GOBIN not set

  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.godemo1_lib.gopackage namemain

// 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:
    报错,截图如下所示:
    undefined

  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:
    报错,截图如下所示:
    GOBIN not set

  6. go install demo1.go demo1_lib.go:
    报错,截图如下所示:
    GOBIN not set

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

  8. 设置完$GOBIN环境变量后,运行go install demo1.go:
    报错,截图如下:
    undefined

  9. 设置完$GOBIN环境变量后,运行go install demo1.go demo1_lib.go:
    $GOBIN目录下生成可执行文件demo1.exe

  10. 设置完$GOBIN环境变量后,运行go install:
    $GOBIN目录下生成可执行文件test.exe(以上层文件夹的名字命名新文件)

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/u014633283/article/details/83859438
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢