Golang三个编译基本命令的使用小结

作者:魏大橙 时间:2023-08-28 05:08:03 

在运行Go语言程序之前,先要将其编译成二进制的可执行文件

我们通常在编辑器编写完源码后使用go build或go run命令对GO语言程序进行编译

1、go build(编译)

作用:将Go语言程序和相关依赖编译成可执行文件

语法格式:go build 【参数】 fileName

参数:

fileName为所要编译的文件名,可以是一个或多个Go源文件名(多个文件名之间需要用空格作为分隔符)

-o:指定编译后的可执行文件名

-n:显示编译时会用到的所有命令,但不真正执行

-x:显示编译时用到的所有命令

在当前家目录下有一个demo.go的Go源程序文件(编译单个文件),无参数编译一个文件时,会在当前路径下生成该Go源程序的可执行文件,即demo

Golang三个编译基本命令的使用小结

Golang三个编译基本命令的使用小结

 在当前路径下有两个文件,main.go文件中调用了lib.go文件中自定义的一个函数(编译多个文件),无参数编译多个文件时,会在当前路径下生成第一个Go源程序名称的可执行文件

Golang三个编译基本命令的使用小结

Golang三个编译基本命令的使用小结

go build编译包

在gotest目录下有一个main.go和一个mypkg目录(该目录下有一个mypkg.go)

建议mypkg.go的包名和它的目录名相一致

Golang三个编译基本命令的使用小结

Golang三个编译基本命令的使用小结

Golang三个编译基本命令的使用小结

参数实例:

Golang三个编译基本命令的使用小结

Golang三个编译基本命令的使用小结

Golang三个编译基本命令的使用小结

2、go run(编译并运行)

作用:编译之后立即执行Go语言程序,但是不会生成可执行文件

语法格式:go run fileName

参数:

fileName为所要编译的文件名,必须是同一main包下的所有源文件并且不能为空

Golang三个编译基本命令的使用小结

Golang三个编译基本命令的使用小结

3、go install(编译并安装)

作用:编译并安装源文件、软件包,即把编译后的可执行二进制文件安装到指定的目录中

go install 的编译过程有如下规律:

  • go install 是建立在 GOPATH 上的

  • GOPATH 下的 bin 目录放置的是使用 go install 生成的可执行文件,可执行文件的名称来自于编译时的包名

  • GOPATH 下的 pkg 目录放置的是编译期间的中间文件

若设置了环境变量GOBIN,则会把可执行二进制文件安装到该目录,若禁用了Go module则安装到$GOPATH/pkg/$GOOS_$GOARCH下

我们知道如果在工作目录下有可执行文件时,需要./fileName来进行执行该文件而不是像使用命令那般只需输入名称不需要加上路径

当我们使用go install后,我们就可以使用命令那般使用可执行文件

Golang三个编译基本命令的使用小结

来源:https://blog.csdn.net/Thewei666/article/details/129842428

标签:Golang,编译命令
0
投稿

猜你喜欢

  • 简介Python的collections模块中defaultdict类型的用法

    2021-01-04 20:14:54
  • 微信小程序学习笔记之本地数据缓存功能详解

    2024-04-22 12:42:49
  • python读取mysql数据绘制条形图

    2024-01-26 16:15:07
  • python 求定积分和不定积分示例

    2021-06-15 02:17:39
  • javascript中typeof操作符和constucor属性检测

    2024-05-09 10:37:27
  • python用faker库批量生成假数据

    2023-04-09 13:15:46
  • ASP 字符串转数字格式

    2009-08-19 17:18:00
  • js中eval()函数和trim()去掉字符串左右空格应用

    2024-04-19 10:00:16
  • 用Python爬取QQ音乐评论并制成词云图的实例

    2022-04-04 04:08:59
  • python将字符串转换成数组的方法

    2021-03-04 20:09:54
  • 基于scrapy实现的简单蜘蛛采集程序

    2023-09-22 03:58:02
  • Django的基本运用之Django垃圾分类详解

    2022-02-02 01:46:13
  • python入门学习笔记分享

    2023-01-29 17:46:16
  • ES6新特性一: let和const命令详解

    2024-05-22 10:37:14
  • 从if else到switch case再到抽象

    2010-11-05 18:30:00
  • flask框架自定义过滤器示例【markdown文件读取和展示功能】

    2023-03-07 19:22:27
  • python的绘图工具matplotlib使用实例

    2023-10-09 13:23:28
  • 在vue中使用export default导出的class类方式

    2024-04-09 10:48:47
  • 分析mysql中一条SQL查询语句是如何执行的

    2024-01-19 15:43:59
  • 浅谈python中str字符串和unicode对象字符串的拼接问题

    2022-03-27 22:00:32
  • asp之家 网络编程 m.aspxhome.com