安装Go语言常用工具

好的,这里是常用的Go工具,包括下载地址、在线安装指令和离线安装步骤。

1. gopls (Go language server)

  • 功能: 提供代码补全、跳转定义、文档提示等IDE功能。

  • 下载地址: golang.org/x/tools/gopls

  • 在线安装命令

    :

    sh
    复制代码
    go install golang.org/x/tools/gopls@latest
    

2. golint

  • 功能: 代码风格检查工具。

  • 下载地址: golang.org/x/lint/golint

  • 在线安装命令

    :

    sh
    复制代码
    go install golang.org/x/lint/golint@latest
    

3. goimports

  • 功能: 自动添加或删除导入包。

  • 下载地址: golang.org/x/tools/cmd/goimports

  • 在线安装命令

    :

    sh
    复制代码
    go install golang.org/x/tools/cmd/goimports@latest
    

4. staticcheck

  • 功能: 静态代码分析工具。

  • 下载地址: honnef.co/go/tools/cmd/staticcheck

  • 在线安装命令

    :

    sh
    复制代码
    go install honnef.co/go/tools/cmd/staticcheck@latest
    

5. delve

  • 功能: Go程序的调试器。

  • 下载地址: github.com/go-delve/delve

  • 在线安装命令

    :

    sh
    复制代码
    go install github.com/go-delve/delve/cmd/dlv@latest
    

6. errcheck

  • 功能: 检查未处理的错误。

  • 下载地址: github.com/kisielk/errcheck

  • 在线安装命令

    :

    sh
    复制代码
    go install github.com/kisielk/errcheck@latest
    

7. revive

  • 功能: 代码风格检查工具,类似于golint,但更快且可配置。

  • 下载地址: github.com/mgechev/revive

  • 在线安装命令

    :

    sh
    复制代码
    go install github.com/mgechev/revive@latest
    

8. gosec

  • 功能: 安全静态分析工具。

  • 下载地址: github.com/securego/gosec

  • 在线安装命令

    :

    sh
    复制代码
    go install github.com/securego/gosec/v2/cmd/gosec@latest
    

9. golangci-lint

  • 功能: Go语言的聚合代码检查工具,包含多个linters。

  • 下载地址: github.com/golangci/golangci-lint

  • 在线安装命令

    :

    sh
    复制代码
    go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
    

离线安装步骤

Go 1.17及以后的版本中,go get不再用于安装二进制包。现在使用 go install 来安装工具包。离线安装工具的步骤会有所不同,因为你需要在联网环境中下载相关的模块缓存并转移到离线环境中。以下是更新后的步骤:

  1. 在有网络的环境中下载工具
    设置临时的 Go 模块缓存目录
    在有网络的环境中设置一个临时的 Go 模块缓存目录,并下载工具包所需的模块。

sh
复制代码

设置临时环境变量

export GOPATH= ( m k t e m p − d ) e x p o r t G O C A C H E = (mktemp -d) export GOCACHE= (mktempd)exportGOCACHE=(mktemp -d)
export GO111MODULE=on

下载工具所需的模块

go install golang.org/x/tools/gopls@latest
go install golang.org/x/lint/golint@latest
go install golang.org/x/tools/cmd/goimports@latest
go install honnef.co/go/tools/cmd/staticcheck@latest
go install github.com/go-delve/delve/cmd/dlv@latest
go install github.com/kisielk/errcheck@latest
go install github.com/mgechev/revive@latest
go install github.com/securego/gosec/v2/cmd/gosec@latest
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
打包模块缓存
将下载的模块缓存打包为一个压缩文件,例如gomodcache.zip。

sh
复制代码
cd $GOPATH/pkg/mod
zip -r gomodcache.zip .
2. 将压缩文件复制到离线环境
将 gomodcache.zip 文件复制到离线环境中,并解压到相应的目录。

sh
复制代码
unzip gomodcache.zip -d /path/to/your/gopath/pkg/mod
3. 在离线环境中安装工具
设置环境变量
在离线环境中,设置相应的环境变量,并使用解压后的模块缓存。

sh
复制代码
export GOPATH=/path/to/your/gopath
export GOCACHE=/path/to/your/gocache
export GO111MODULE=on
export PATH= P A T H : PATH: PATH:GOPATH/bin
安装工具
在离线环境中使用 go install 安装工具:

sh
复制代码
go install golang.org/x/tools/gopls@latest
go install golang.org/x/lint/golint@latest
go install golang.org/x/tools/cmd/goimports@latest
go install honnef.co/go/tools/cmd/staticcheck@latest
go install github.com/go-delve/delve/cmd/dlv@latest
go install github.com/kisielk/errcheck@latest
go install github.com/mgechev/revive@latest
go install github.com/securego/gosec/v2/cmd/gosec@latest
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
4. 确认工具安装
确保工具已正确安装到 $GOPATH/bin 目录中。

sh
复制代码
ls $GOPATH/bin
你应该能够看到已编译的工具可执行文件,例如 gopls、golint、goimports 等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/44207.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云仓适合什么商家?

1、电商平台和网店: 对于拥有大量在线订单但没有自建仓储和物流能力的小型和中型电商企业,云仓可以在成本和效率上提供显著优势,帮助快速处理订单并缩短配送时间。 —————————————————————————————————— …

根据关键词query获取google_img(api方式)

文章目录 说明代码第一部分:链接保存为Json第二部分:链接转换为img 说明 根据关键词query获取google_img USERNAME “xxx” PASSWORD “xxx” 官网申请。 代码 首先获取图片链接,保存为json之后下载。 第一部分:链接保存为…

.net 8 使用 quic 协议通讯

debian环境安装 quic支持 # 1. 添加unstable仓库(如果您使用的是Debian的不稳定分支) sudo apt install apt-transport-https ca-certificates sudo wget -O /etc/apt/trusted.gpg.d/microsoft.gpg https://packages.microsoft.com/keys/microsoft.asc …

【独家揭秘】视频号矩阵系统火爆上线,一键式多平台管理,你的内容营销神器!

在信息爆炸的时代,内容创作者们面临着前所未有的挑战与机遇。如何让自己的内容在众多平台中脱颖而出,快速传播并吸引大量观众,成为了每个创作者关注的焦点。近日,一款名为“迅狐视频号矩阵系统”的神器震撼来袭,它以其…

UV胶,它是否有毒?如同那些隐藏在黑暗中的危险之物?

UV胶,它是否有毒?如同那些隐藏在黑暗中的危险之物? 关于uv胶的毒性问题,或许我们可以这样深入探讨。UV胶,如同一位戴着神秘面纱的访客,在我们的生活中悄然出现,却带着诸多疑问。那么&#xff0…

二维码生成需知:名片二维码尺寸多少合适?电子名片二维码制作方法?

随着数字化时代的到来,二维码在各个领域的应用越来越广泛,名片作为商业交流的重要工具之一,也开始逐渐融入二维码的元素。通过在名片上添加二维码,我们可以轻松实现信息的快速传递和分享。然而,名片二维码的尺寸选择成…

Monorepo仓库管理策略之 Lerna

这里写目录标题 前言:一、简介二、新建项目使用安装生成结构 三、复用现有项目执行命令查看包 四、配置package相互引用导入现有的包 五、发布包确定项目版本发布项目添加项目到到git发布包到NPM包发布出错解决方案 五、实例代码 前言: 将大型代码仓库分…

Python 与扣子 API的链接

当 Python 与各种 API 进行链接时,更是能碰撞出无数精彩的火花,为我们的开发工作带来极大的便利和创新。今天,咱们就来聊聊 Python 与扣子 API 的链接那些事儿。 扣子 API 作为一种新兴的技术接口,为我们提供了丰富的数据和功能。…

文心一言的流式接口数据进行处理 增加属性

需求:需要对文心一言的流式接口数据进行处理 增加属性 return ResponseEntity.ok().header("Access-Control-Allow-Origin", "*").contentType(org.springframework.http.MediaType.TEXT_EVENT_STREAM).cacheControl(org.springframework.http…

python调用串口收发数据

1、确认串口信息 2、安装pyserial库 打开终端或命令行,敲入这行命令:pip install pyserial 3、python编程 import serial def main(): #创建串口对象 ser serial.Serial(COM4, 9600, timeout1) if not ser.isOpen(): print("串…

飞睿智能6公里WiFi图传接收模块,低延迟、抗干扰、高速稳定传输数据,无人机、农田远距离WiFi模块

在科技日新月异的今天,无线通信技术正以前所未有的速度发展,不仅改变了我们的生活方式,还为企业带来了前所未有的商业机遇。今天,我要向大家介绍一款飞睿智能的产品——6公里WiFi图传接收模块,它以其高性能、稳定的传输…

【常见的设计模式】单例模式

参考:【设计模式专题之单例模式】1.小明的购物车 【设计模式专题之单例模式】 1.小明的购物车 时间限制:1.000S 空间限制:256MB   题目描述 小明去了一家大型商场,拿到了一个购物车,并开始购物。请你设计一个购物车管…

【React】基础数据回填--useForm与setFieldsValue详解

相关属性 1.form 2.setFieldsValue 代码 import{Form }from"antd";const Publish =

体积大的快递怎么寄便宜?如何寄件寄包裹更省钱?

大学毕业了,面对即将到来的工作生活,小李不得不把宿舍里的大包小包打包寄回家。可是,当他真正开始打包行李时,才发现这可不是一件简单的事:衣服、被子、书籍、杂物……这些东西加起来体积不小,想要省钱寄快…

虚拟化技术 DeskV(或Desktop Virtualization)

DeskV(或Desktop Virtualization),即桌面虚拟化技术,是一种将计算机的桌面系统(包括操作系统、应用程序和用户数据)进行虚拟化,以实现桌面使用的安全性和灵活性的技术。以下是关于DeskV&#xf…

基于stm32单片机的智能手环的设计

摘 要 随着科技的飞速发展和人们生活水平的提高,健康与科技日益融合,智能可穿戴设备已成为现代人生活中不可或缺的一部分。智能手环,作为一种便携、实用且功能丰富的可穿戴设备,受到越来越多用户的喜爱。它不仅能够实时监测用户的…

简化嵌入式Linux开发:在Ubuntu上安装和配置交叉编译环境的高效方法

在嵌入式Linux开发中,我们通常需要在Ubuntu上安装交叉编译工具链,并配置相关文件。编译过程中,如果遇到依赖库问题,还需要手动查找并编译开源源码。这些步骤较为繁琐,为了简化操作,我们可以尝试以下方案&am…

深度解析:银行小额支付与大额支付的关键区别与应用场景

一、交易金额 小额支付:通常适用于金额在5万元以下的支付场景。这种支付方式更适合个人用户或小额交易场景,如便利店购物、支付停车费、小额汇款等。大额支付:涉及金额较大的支付交易,一般被定义为单笔交易金额超过一定数额&…

特殊的“user profile service服务登录失”情况

记录一下比较特殊的user profile service服务登录失败情况 公司电脑,某次之后每次来公司电脑开机后就会出现这个情况,后来发现只要是关机后再开机百分百出现,重启就不会,一开始也百度、google了,网上有很多解决方式&am…

DropNotch for Mac v1.0.1 在 Mac 刘海快速使用 AirDrop

应用介绍 DropNotch 是一款专为Mac设计的应用程序,可以将MacBook的凹口区域(刘海)转换为文件放置区。 功能特点 文件共享: 用户可以将文件拖放到MacBook的凹口区域,并通过AirDrop、邮件、消息等方式轻松共享。多显示器支持: 即…