golangci-lint安装与Goland集成

ops/2024/12/27 11:12:03/

golangci-lint安装与Goland集成

  • 1.golangci-lint概述
  • 2.golangci-lint安装
  • 3.Goland 中集成 golangci-lint
  • 4.golangci-lint 的使用
  • 5.排除代码检查

golangcilint_2">1.golangci-lint概述

golangci-lint是用于go语言的代码静态检查工具集

官网地址:golangci-lint

特性:

  • 快速:并行非执行 linters,可以复用 Go构建cache和caches分析结果
  • 配置文件基于yaml语法进行配置
  • 可以与常见开发工具集成,例如:VS Code、Sublime、Goland、Emacs、Vim、Atom、Github Actions
  • 包含了很多 linters,不需要安装
  • 执行结果输出带有美观,不仅带有颜色,还有源码行号和标识
  • 尽可能的减少误报,可以通过设置忽略某些模式

golangcilint_19">2.golangci-lint安装

macos:

brew install golangci-lint
brew upgrade golangci-lint

linux/windows:

curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.46.2

在这里插入图片描述

安装完成后,进行验证:

golangci-lint --version

在这里插入图片描述


golangcilint_45">3.Goland 中集成 golangci-lint

1、安装插件

在这里插入图片描述

2、工具 - File Watcher - 添加golangci-lint

在这里插入图片描述

3、作用域改为所有位置,应用确认

在这里插入图片描述

这样在goland每次保存就会自动触发检查了


golangcilint__62">4.golangci-lint 的使用

在项目根路径下面执行 golangci-lint run 就可以检查整个项目的代码

在这里插入图片描述

没有配置文件时,golangci-lint 使用默认的代码检查器进行检查

# 查看默认启用和关闭了哪些检查器
golangci-lint help linters

5.排除代码检查

通过注释可以跳过代码检查,使用方式如下:

go">var bad_name int //nolint
var bad_name int //nolint:golint,unused//nolint
func allIssuesInThisFunctionAreExcluded() *string {// ...
}//nolint:govet
var (a intb int
)

或者忽略对整个文件进行检查:

go">//nolint:unparam
package pkg

http://www.ppmy.cn/ops/145357.html

相关文章

深度解析:电商平台API接口的安全挑战与应对策略

随着电子商务的蓬勃发展,电商平台与外部服务、内部系统之间的数据交换和通信变得日益频繁。API(应用程序编程接口)接口作为这一过程中的关键枢纽,其安全性显得尤为重要。API接口不仅承载着商品管理、订单处理、支付结算、用户管理…

JS 异步 ( 一、异步概念、Web worker 基本使用 )

文章目录 异步代码异步执行概念ES6 之前的异步 Web worker 异步 代码异步执行概念 通常代码是自上而下同步执行的,既后面的代码必须等待前面的代码执行完才会执行,而异步执行则是将主线程中的某段代码交由子线程去执行,当交给子线程后&…

通过GRE协议组建VPN网络

GRE(Generic Routing Encapsulation,通用路由封装协议)协议是一种简单而有效的封装协议,它在网络中的广泛应用,比如在构建VPN网络。   GRE是一种封装协议,它允许网络层协议(如IP)的…

【gulp】gulp 的基本使用

gulp 是一个基于node的自动化打包构建工具,前端开发者可以使用它来处理常见任务: 创建项目 进入项目 npm init -ynpm i gulp -g (使用命令 gulp)npm i gulp -D # 开发依赖(前端工具都是开发依赖 本地安装 代…

面试问题-华勤技术(软件开发岗)

博主base无锡,刚考完研,顺手投了简历到华勤的校招邮箱,然后第二天上午发信息笔试,考的是c语言/c测试卷,只有选择题和判断题,然后是文段阅读理解卷,数据图表计算卷以及性格测试卷;难度…

centos单机部署seata

文章目录 场景分析下载seata包启动 场景 centos7.9 jdk17 安装部署seata 分析 jdk和seata的版本对应关系如图 JDK版本 推荐 Seata 版本 理由 JDK 8 任何 Seata 版本 JDK 8 是 Seata 长期支持的版本,兼容性最好。 JDK 11 Seata 1.2.0 适合需要长期支持且性能较高的应…

Unity 踩坑记录 将Image 的 Image Type 设置成 sliced 不显示图片

将Image 的 Image Type 设置成 sliced 不显示图片 检查 image 自身的 pixels per Unity multplier 的值 和canvas reference pixels per 的值(默认100)

每日一练 | DHCP 客户端续约过程

01 真题题目 在 DHCP 运行过程中,如果客户端 IP 地址在租约过去 87.5%还没有完成续约的话,客户端将发送什么报文进行再次续约? A. DHCPdiscover 广播报文 B. DHCP release 单播报文 C. DHCPrequest 广播报文 D. DHCPrequest 单播报文 02 真题…