当前位置: 首页 > news >正文

golangci-lint安装与Goland集成

golangci-lint安装与Goland集成

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

1.golangci-lint概述

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

官网地址:golangci-lint

特性:

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

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

在这里插入图片描述


3.Goland 中集成 golangci-lint

1、安装插件

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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


4.golangci-lint 的使用

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

在这里插入图片描述

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

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

5.排除代码检查

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

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

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

//nolint:unparam
package pkg
http://www.lryc.cn/news/509255.html

相关文章:

  • 金仓数据库安装-Kingbase v9-centos
  • 条款6:auto推导若非己愿,使用显式类型初始化惯用法
  • 蓝桥杯物联网开发板硬件组成
  • 视频汇聚融合云平台Liveweb一站式解决视频资源管理痛点
  • (aaai2025) FD2-Net: Frequency-Driven Feature Decomposition Network
  • 深度学习之目标检测——RCNN
  • 2014年IMO第3题
  • 国高材服务 | 高分子结晶动力学表征——高低温热台偏光显微镜
  • 跨站请求伪造之基本介绍
  • Hadoop集群(HDFS集群、YARN集群、MapReduce​计算框架)
  • 单元测试(UT,C++版)经验总结(gtest+gmock)
  • Mysql高级部分总结(二)
  • 纠正一下网络管理
  • homebrew,gem,cocoapod 换源,以及安装依赖
  • Java字符串的|分隔符转List实现方案
  • Kafka可视化工具 Offset Explorer (以前叫Kafka Tool)
  • DeepWalk 原理详解
  • GitLab安装|备份数据|迁移数据及使用教程
  • 嵌入式linux驱动框架 I2C系统驱动程序模型分析
  • 深度学习实验十七 优化算法比较
  • 一个双非选手的秋招总结
  • 如何提高永磁电动机的节电效果
  • 在一个服务器上抓取 Docker 镜像并在另一个服务器上运行
  • 开源轮子 - Logback 和 Slf4j
  • 内部知识库的未来展望:技术融合与用户体验的双重升级
  • 【Linux系列】Shell 命令:`echo ““ > img.sh`及其应用
  • 【RAG实战】语言模型基础
  • 【MySQL】7.0 入门学习(七)——MySQL基本指令:帮助、清除输入、查询等
  • 我的 2024 年终总结
  • STM32CUBEMX+STM32H743ZIT6+IAP+UART在线升级初始化和代码解析