常用命令

一、常用命令汇总
go version获取Go版本 
go env: 查看Go环境变量 
go help查看Go帮助命令 
go get获取远程包(需提前安装githg) 
go build编译生成可执行程序 
go run直接运行程序 
go fmt格式化源码 
go install编译文件以及整个程序 
go test: go原生提供的单元测试命令 
go clean移除当前源码包和关联源码包里编译生成文件 
go tool升级Go版本时,修复旧版代码 
godoc -http:80:开启一个本地80端口web文档 
gdb 可执行程序名:调试Go编译出来的文件

使用格式

go command [arguments]
二、常见的命令详解
1、go build

1、go build ,它可以启动编译,把我们的包和相关依赖编译成 一个执行文件
2、如果是main包,执行go build之后,会在当前目录生成一个可执行文件
3、演示

// 编译当前目录为一个可执行文件 
go build . 
// 编译hello.go文件为一个可执行文件 
go build hello.go
2、go run

1、go build 是先编译然后我们执行可以执行文件运行我们的程序,需要两步。
2、go run 这个命令就是可以把这两步合成一步的命令,节省我们录入时间
在这里插入图片描述

3、go get

1、go get用来获取远程仓库中的包,使用该命令前必须配置GOPATH,而且依据不同源码网站,还要安装不同版本管理工具比如github使用go get需要额外安装git
2、go get本质可以理解通过源码工具clone代码后,执行了go install
在这里插入图片描述

go的包管理

一、go的三种管理

推荐选择 go module 的包管理方式

go path 
	在 1.5 版本之前,所有的依赖包都是存放在 GOPATH 下,没有版本控制。
	这种方式最大的弊端就是无法实现包的多版本控制比如项目 A 和项目 B 依赖于不同版本package,如果package 没有做到完全的向前兼容,往往会导致一些问题。
go vendor
	1.5 版本推出了 vendor 机制。所谓 vendor 机制就是每个项目根目录可以有一个 vendor 目录,里面存放了该项目依赖package。 go build时候会先去 vendor 目录查找依赖,如果没有找到会再去GOPATH 目录下查找。
go module
1.11 版本推出 modules 机制,简称 mod。该模式通过mod.go文件管理依赖关系
二、go里面的前置知识

1、两个命令
安装二进制可执行文件推荐使用go install

go install xxx安装xxx第三方二进制可执行文件 ) 
go install 类似 go build , 将生成可执行文件放到 【$GOPATH/bin】 目录中
go get xxx下载xxx第三方依赖包并安装)
go get下载安装,即 git clone + go install ,将clone源码放到 【$GOPATH/src】 中

2、两个路径

GOROOT:go的安装目录,类似javajdk存放一些内置开发包工具。
GOPATH:go指定工作空间用于保存go项目代码第三方依赖包。
三、go mod命令的使用

1、go help mod查看相关帮助命令、
在这里插入图片描述
2、go mod常用命令

go mod init:初始化modules 
go mod download:下载modules本地cache 
go mod edit:编辑go.mod文件,选项有-json、-require和-exclude可以使用帮助go help mod edit 
go mod graph:以文本模式打印模块需求图 
go mod tidy:检查删除错误或者不使用modules下载downloadpackage 
go mod vendor:生成vendor目录 
go mod verify:验证依赖是否正确 
go mod why查找依赖 
go test 执行一下,自动导包 
go list -m 主模块打印路径 
go list -m -f={{.Dir}} print模块根目录 
go list -m all 查看当前的依赖和版本信息

原文地址:https://blog.csdn.net/weixin_47661174/article/details/125584243

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_45226.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注