Go语言基础go build命令用法及示例详解

 更新时间:2021年11月17日 16:51:07   作者:枫少文  
这篇文章主要为大家介绍了Go语言基础go build命令用法及示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

在这里插入图片描述

go build

1. 用于测试编译多个包或一个main包
2. build命令编译包丢弃非main包编译结果,只是检查是否能够被编译
3. 保留main包编译结果

一个Go项目在GOPATH下,会有如下三个目录

在这里插入图片描述

  • bin存放编译后的可执行文件
  • pkg存放编译后的包文件
  • src存放项目源文件
  • 一般,bin和pkg目录可以不创建,go命令会自动创建(如 go install),只需要创建src目录即可。

使用:

add.go

package cal	
// 两个数相加 首字母大写,表示public 方法
func Add(a,b int)int{ 
    return a+b
}

subtraction.go

package cal
// 两个数相减 首字母大写,表示public 方法
func Subtraction(a,b int) int {
	return a-b
}

main.go

package main
import (
	"fmt"
	"cal"  //到入自定义的包,cal必须在src文件下,必须和main同一级
)
func main() {
	fmt.Println("hello word")
	fmt.Println("相加",cal.Add(10,20))
	fmt.Println("相减",cal.Subtraction(40,50))
}

1. 普通包 【非main包】

go build add.go 【编译add.go,不生成exe执行文件】
go build -o add.exe add.go 【指定生成exe执行文件,但是不能运行此文件,不是main包】

2. main包【package main】

go build main.go 【生成exe执行文件】
go build -o main.exe main.go 【指定生成main.exe执行文件】

3. 项目文件夹下有多个文件
进入文件的目录

go build 【默认编译当前目录下的所有go文件】
go build add.go subtraction.go 【编译add.go 和 subtraction.go】

注意:

1. 如果是普通包,当你执行go build之后,它不会产生任何文件。【非main包】

2. 如果是main包,当你执行go
build之后,它就会在当前目录下生成一个可执行文件exe。如果你需要在$GOPATH/bin下生成相应的文件,需要执行go
install,或者使用go build -o 路径/xxx.exe xxx.go

3. 如果某个项目文件夹下有多个文件,而你只想编译某个文件,就可在go build之后加上文件名,例如go build
xxx.go;go build命令默认会编译当前目录下的所有go文件。

4. 你也可以指定编译输出的文件名。我们可以指定go build -o
xxxx.exe,默认情况是你的package名(main包),或者是第一个源文件的文件名(main包)。

5.go build会忽略目录下以“_”或“.”开头的go文件。

以上就是Go语言基础go build命令用法及示例详解的详细内容,更多关于Go语言命令的资料请关注脚本之家其它相关文章!

相关文章

  • Go实现map并发安全的3种方式总结

    Go实现map并发安全的3种方式总结

    Go的原生map不是并发安全的,在多协程读写同一个map的时候,安全性无法得到保障,这篇文章主要给大家总结介绍了关于Go实现map并发安全的3种方式,需要的朋友可以参考下
    2023-10-10
  • 详解Golang如何优雅接入多个远程配置中心

    详解Golang如何优雅接入多个远程配置中心

    这篇文章主要为大家为大家介绍了Golang如何优雅接入多个远程配置中心详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • jenkins配置golang 代码工程自动发布的实现方法

    jenkins配置golang 代码工程自动发布的实现方法

    这篇文章主要介绍了jenkins配置golang 代码工程自动发布,jks是个很好的工具,使用方法也很多,我只用了它简单的功能,对jenkins配置golang相关知识感兴趣的朋友一起看看吧
    2022-07-07
  • Golang开发之接口的具体使用详解

    Golang开发之接口的具体使用详解

    在 Golang 中,接口是一种类型,它是由一组方法签名组成的抽象集合。这篇文章主要为大家介绍了Golang接口的具体使用,希望对大家有所帮助
    2023-04-04
  • Go语言大揭秘:适用于哪些类型的项目开发?

    Go语言大揭秘:适用于哪些类型的项目开发?

    想知道Go编程语言适合开发哪些类型的项目吗?无论是网络服务、分布式系统还是嵌入式设备,Go都能轻松应对,本文将带你了解Go在各种场景下的应用,让你更好地选择和使用Go进行开发,需要的朋友可以参考下
    2024-01-01
  • 从go语言中找&和*区别详解

    从go语言中找&和*区别详解

    这篇文章主要介绍了从go语言中找&和*区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • GoFrame实现顺序性校验示例详解

    GoFrame实现顺序性校验示例详解

    这篇文章主要为大家介绍了GoFrame实现顺序性校验示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • golang图片处理库image基本操作

    golang图片处理库image基本操作

    这篇文章主要介绍了golang图片处理库image简介,主要包括图片的基本读取与保存及图片的修改,本文通过通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • golang interface判断为空nil的实现代码

    golang interface判断为空nil的实现代码

    这篇文章主要介绍了golang interface判断为空nil的实现代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • Golang 编译成DLL文件的操作

    Golang 编译成DLL文件的操作

    这篇文章主要介绍了Golang 编译成DLL文件的操作方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-05-05

最新评论