安装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= (mktemp−d)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 .

  1. 将压缩文件复制到离线环境

将 gomodcache.zip 文件复制到离线环境中,并解压到相应的目录。

sh

复制代码

unzip gomodcache.zip -d /path/to/your/gopath/pkg/mod

  1. 在离线环境中安装工具

设置环境变量

在离线环境中,设置相应的环境变量,并使用解压后的模块缓存。

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

  1. 确认工具安装

确保工具已正确安装到 $GOPATH/bin 目录中。

sh

复制代码

ls $GOPATH/bin

你应该能够看到已编译的工具可执行文件,例如 gopls、golint、goimports 等。

相关推荐
颜酱6 小时前
图结构完全解析:从基础概念到遍历实现
javascript·后端·算法
m0_736919107 小时前
C++代码风格检查工具
开发语言·c++·算法
2501_944934737 小时前
高职大数据技术专业,CDA和Python认证优先考哪个?
大数据·开发语言·python
黎雁·泠崖7 小时前
【魔法森林冒险】5/14 Allen类(三):任务进度与状态管理
java·开发语言
2301_763472468 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
TechWJ9 小时前
PyPTO编程范式深度解读:让NPU开发像写Python一样简单
开发语言·python·cann·pypto
Coder_Boy_9 小时前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
lly2024069 小时前
C++ 文件和流
开发语言
m0_706653239 小时前
分布式系统安全通信
开发语言·c++·算法
2501_941982059 小时前
深度对比:Java、Go、Python 实现企微外部群推送,哪个效率更高?
java·golang·企业微信