go 常用命令总结

go,常用命令,总结 · 浏览次数 : 85

小编点评

Sure, here's a summary of the content you provided: **Go build:** * Compiles and builds Go programs and dependencies into executable files. * Requires manual execution with `go run` for modifications. * Generates no executable files by default. **Go test:** * Runs test files and automatically executes Test- prefixed functions. * Compiles and runs test files and source files without manual compilation. **Go get:** * Downloads and installs specified packages and dependencies. * Can be used for update or installation depending on the `-u` flag. **Go install:** * Builds and installs compiled package and dependencies into the `$GOPATH/bin` directory. * Used for installation in the production environment. **Go clean:** * Clears up build files and cached data. **Go mod:** * Initializes and manages Go modules, creating `go.mod` file. * Used for managing dependencies in development and release environments. **Go doc:** * Provides documentation for Go standard library and third-party libraries. * Used for code reference and understanding. **Go vet:** * Checks code style and potential errors. * Used for code quality checks. **Go fmt:** * Formats code to meet Go language conventions. * Used for code formatting. **Go list -m all:** * Shows dependency relationships and dependencies. **Additional Notes:** * `go build` may not automatically download dependencies if they are not already installed. * `go install` updates existing dependencies to the latest versions. * `go clean` and `go mod` are used for cleaning and managing compiled files and dependencies. * These commands are typically used in development and testing environments for quick program execution and testing.

正文

转载请注明出处:

go build:编译包和依赖项,生成可执行文件。命令用于编译包和依赖项,生成可执行文件。当对Go程序进行修改后,需要使用go build命令重新编译程序,
  以生成新的可执行文件。该命令不会自动下载和安装依赖项,需要事先使用go get命令下载依赖项
go run:编译并运行Go程序。该命令会临时编译程序并运行,不会生成可执行文件。在开发和测试阶段使用,用于快速运行程序并查看输出结果。 go test:运行测试文件,会自动执行以Test为前缀的测试函数,并输出测试结果。该命令会自动编译测试文件和被测试的源文件,不需要手动编译。
      在测试阶段使用,用于自动化测试程序的正确性和性能。
go get <依赖路径>:下载并安装指定的包和依赖项。它会自动下载所需的依赖项,并将它们安装到$GOPATH目录下。

go get -u <依赖路径>:下载并安装或更新指定的包和依赖项。它会自动下载所需的依赖项,并将它们安装到$GOPATH目录下。
            执行时需要注意是否使用-u进行更新,-u会默认更新到最新版本,有可能会导致版本不兼容的问题

## 如果你使用 Go Modules 进行依赖管理,可以使用以下命令: 
go mod download <依赖路径>:执行该命令之后,Go 会自动下载并安装依赖,安装后的依赖在 $GOPATH/pkg/mod 目录下。

go install:编译包和依赖项,并将可执行文件安装到$GOPATH/bin目录下。在生产环境使用,用于部署程序。

go clean:清理编译生成的文件和缓存文件。 go mod init:初始化模块,创建go.mod文件。在开发和发布新模块时使用,用于管理模块依赖。

go mod tidy:整理模块依赖,移除不需要的依赖。在开发和测试阶段使用,用于管理模块依赖。

go clean -modcache:清理 Go 模块缓存 go mod vendor:将依赖项复制到本地vendor目录下,方便离线构建。用于离线构建程序。

go doc:查看Go文档,例如go doc fmt.Println可以查看fmt包中的Println函数的文档。在开发和学习阶段使用,用于查阅Go标准库和第三方库的文档。

go vet:检查代码风格和潜在错误。在开发阶段使用,用于检查代码质量和发现潜在的错误。

go fmt:格式化代码,使其符合Go语言的规范。用于统一代码风格和格式。

go list -m all:显示依赖关系

 

与go 常用命令总结相似的内容:

go 常用命令总结

转载请注明出处: go build:编译包和依赖项,生成可执行文件。命令用于编译包和依赖项,生成可执行文件。当对Go程序进行修改后,需要使用go build命令重新编译程序, 以生成新的可执行文件。该命令不会自动下载和安装依赖项,需要事先使用go get命令下载依赖项 go run:编译并运行Go程

glog 日志库简介与测试【GO 常用的库】

在 GO 语言中,glog 日志库还是比较常用的,下面来详细介绍下。

crypto 加解密库简介与测试【GO 常用的库】

加密算法是任何语言都不可或缺的,关于 GO 语言的实现本文简单梳理了下,仅供参考。

0.go语言实用工具编写要这样学

[TOC] ## 写作目的 本篇章写作有以下目的: 1. 介绍go语言的基础知识,这里你会发现go语言学习成本较低,与python语言相似。 2. 介绍go语言的常用标准库,这里你会发现go语言的标准库已经非常强大,python语言要达到类似效果需要其他第三方库的参与。 3. 介绍go语言的实用工具

math 库中常用的数学运算和常量【GO 基础】

GO 语言的 math 库是一个内置的标准库,其中包含了许多数学函数和常量,用于计算各种数学运算和统计学计算,今天来梳理下备查。

常用语言的线程模型(Java、go、C++、python3)

了解一下线程模型还是很有必要的,如果不清楚语言层面上的线程在操作系统层面怎么映射使用,在使用过程中就会不清不楚,可能会踩一些坑

使用 gopkg.in/yaml.v3 解析 YAML 数据

YAML(YAML Ain't Markup Language)是一种人类可读的数据序列化格式,常用于配置文件和数据交换。在 Go 语言中,你可以使用 gopkg.in/yaml.v3 包来解析和生成 YAML 数据。本文将介绍如何使用 gopkg.in/yaml.v3 来处理 YAML 数据。 安

每日一库:lumberjack -- 日志轮换和管理

在开发应用程序时,记录日志是一项关键的任务,以便在应用程序运行时追踪问题、监视性能和保留审计记录。Go 语言提供了灵活且强大的日志记录功能,可以通过多种方式配置和使用。其中一个常用的日志记录库是 github.com/natefinch/lumberjack,它提供了一个方便的方式来处理日志文件的轮

Go 使用原始套接字捕获网卡流量

Go 使用原始套接字捕获网卡流量 Go 捕获网卡流量使用最多的库为 github.com/google/gopacket,需要依赖 libpcap 导致必须开启 CGO 才能够进行编译。 为了减少对环境的依赖可以使用原始套接字捕获网卡流量,然后使用 gopacket 的协议解析功能,这样就省去了解析

Go 如何对多个网络命令空间中的端口进行监听

Go 如何对多个网络命令空间中的端口进行监听 需求为 对多个命名空间内的端口进行监听和代理。 刚开始对 netns 的理解不够深刻,以为必须存在一个新的线程然后调用 setns(2) 切换过去,如果有新的 netns 那么需要再新建一个线程切换过去使用,这样带来的问题就是线程数量和 netns 的数