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
在当前路径下有两个文件,main.go文件中调用了lib.go文件中自定义的一个函数(编译多个文件),无参数编译多个文件时,会在当前路径下生成第一个Go源程序名称的可执行文件
go build编译包
在gotest目录下有一个main.go和一个mypkg目录(该目录下有一个mypkg.go)
建议mypkg.go的包名和它的目录名相一致
参数实例:
2、go run(编译并运行)
作用:编译之后立即执行Go语言程序,但是不会生成可执行文件
语法格式:go run fileName
参数:
fileName为所要编译的文件名,必须是同一main包下的所有源文件并且不能为空
3、go install(编译并安装)
作用:编译并安装源文件、软件包,即把编译后的可执行二进制文件安装到指定的目录中
go install 的编译过程有如下规律:
go install 是建立在 GOPATH 上的
GOPATH 下的 bin 目录放置的是使用 go install 生成的可执行文件,可执行文件的名称来自于编译时的包名
GOPATH 下的 pkg 目录放置的是编译期间的中间文件
若设置了环境变量GOBIN,则会把可执行二进制文件安装到该目录,若禁用了Go module则安装到$GOPATH/pkg/$GOOS_$GOARCH下
我们知道如果在工作目录下有可执行文件时,需要./fileName来进行执行该文件而不是像使用命令那般只需输入名称不需要加上路径
当我们使用go install后,我们就可以使用命令那般使用可执行文件
来源:https://blog.csdn.net/Thewei666/article/details/129842428


猜你喜欢
- 本文实例讲述了GO语言映射(Map)用法。分享给大家供大家参考。具体如下:映射是一种内置的数据结构,用来保存键值对的无序集合。(1)映射的创
- 作为一个.net后台开发的程序猿,博客里既然大多都是前端相关的博文。是不是该考虑换方向了,转前端开发得了 ...小小吐槽一下,近期受该不该跳
- 目录一、常见的高阶函数1.1、filter1.2、map1.3、reduce高阶函数,英文叫 Higher Order function。一
- 数据共享是数据库最基本的特征之一。但是数据共享虽然为员工带来了便利,但也产生了一些负面作用。例如因用户并发存取而导致的对数据一致性的破坏、由
- 本文用 Python 实现 PS 图像调整中的亮度调整,具体的算法原理和效果可以参考之前的博客:https://www.jb51.net/a
- 下面的代码是从kesion系统扒下的,确实不错,支持utf8格式。代码如下:'===========================
- 此前piscdong已经做过一次评测了,这次的Beta正式推出,我也来参与一下.当回小白鼠吧.新的界面设计非常让人兴奋750){this.r
- 程序只要在运行,就免不了会出现错误,错误很常见,比如Error,Notice,Warning等等。在PHP中,主要有以下3种错误类型。1.注
- 本篇阅读的代码片段来自于30-seconds-of-python。1. count_bydef count_by(arr, fn=lambd
- 本文实例总结了PHP图像处理技术。分享给大家供大家参考,具体如下:1、绘图场景: 验证码、图像水印、图像压缩处理php绘图坐标体系是从0,0
- 利用GDAL库对tif影像进行读取 示例代码默认波段为[B、G、R、NIR的顺序,且为四个波段]import gdaldef readTif
- ①. vscode的常用快捷键列表1.注释:a) 单行注释:[ctrl+k,ctrl+c] 或 ctrl+/b) 取消单行注释:[ctrl+
- 本文记录了Windows10安装Python2.7的详细步骤,分享给大家。一、下载软件Python的官方地址点击Downloads找到进行下
- 上篇文章讲了js中的传值和传址 和 函数的作用域.这章我们来探讨js中的变量,表达式,和运算符 还有一些 js 语句。升级中……1, 表达式
- 假设我们有一个容器container如下: <style type=”text/css”> #container{width:a
- 1.学习sql之前回忆一下,什么是变量?变量:能存储数据的值。变量是一块内存空间的表示。数组一连串空间变量是存储数据的容器(通俗讲)2.变量
- 一、准备工作:安装pywin32,后面开发需要pywin32的支持,否则无法完成与windows层面相关的操作。pywin32的具体安装及注
- 前几天在把一个Communtiy Server 的数据库从SQL 2000升级到SQL 2005&n
- 网页过渡是指当浏览者进入或离开网页时,页面呈现的不同的刷新效果,比如卷动、百叶窗等。注:通过模板所建网页无法添加网页过渡效果!制作步骤:1、
- Pygame模块一览表:引入pygame模块 ,若本机没有请自行pip install pygame#载入必要的模块import pygam