golangci-lint安装与Goland集成问题

 更新时间:2024年12月25日 14:38:42   作者:世界尽头与你  
这篇文章主要介绍了golangci-lint安装与Goland集成,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧

golangci-lint安装与Goland集成

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 int
  b int
)

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

//nolint:unparam
package pkg

到此这篇关于golangci-lint安装与Goland集成的文章就介绍到这了,更多相关golangci-lint安装内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 深入理解Golang make和new的区别及实现原理

    深入理解Golang make和new的区别及实现原理

    在Go语言中,有两个比较雷同的内置函数,分别是new和make方法,二者都可以用来分配内存,那他们有什么区别呢?下面我们就从底层来分析一下二者的不同。感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助
    2022-10-10
  • Golang中context库的高级应用

    Golang中context库的高级应用

    context库不仅对于提升代码的效率和性能至关重要,而且还帮助开发者在复杂的系统中保持代码的清晰和可维护性,下面我们就来看看context库的高级应用吧
    2024-01-01
  • golang 生成对应的数据表struct定义操作

    golang 生成对应的数据表struct定义操作

    这篇文章主要介绍了golang 生成对应的数据表struct定义操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • golang之反射和断言的具体使用

    golang之反射和断言的具体使用

    这篇文章主要介绍了golang之反射和断言的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • 详解Golang实现请求限流的几种办法

    详解Golang实现请求限流的几种办法

    这篇文章主要介绍了详解Golang实现请求限流的几种办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 手把手带你运行自己的第一个Go程序

    手把手带你运行自己的第一个Go程序

    Go语言被设计成一门应用于搭载Web服务器,存储集群或类似用途的巨型中央服务器的系统编程语言,这篇文章主要介绍了如何运行自己的第一个Go程序的相关资料,需要的朋友可以参考下
    2025-07-07
  • Go中字符串处理 fmt.Sprintf与string.Builder的区别对比分析

    Go中字符串处理 fmt.Sprintf与string.Builder的区别对比分析

    在Go语言中,我们通常会遇到两种主要的方式来处理和操作字符串:使用fmt.Sprintf函数和string.Builder类型,本文给大家介绍它们在性能和用法上有一些关键区别,感兴趣的朋友跟随小编一起看看吧
    2023-11-11
  • Go如何实现HTTP请求限流示例

    Go如何实现HTTP请求限流示例

    本篇文章主要介绍了Go如何实现HTTP请求限流示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • 浅谈Golang的Work Stealing机制

    浅谈Golang的Work Stealing机制

    Go的运行时系统使用了一种名为Work Stealing的调度策略来分配Goroutine到可用线程上执行,本文主要介绍了浅谈Golang的Work Stealing机制,具有一定的参考价值,感兴趣的可以了解一下
    2025-03-03
  • Go并发编程结构体多字段原子操作示例详解

    Go并发编程结构体多字段原子操作示例详解

    这篇文章主要为大家介绍了Go并发编程结构体多字段原子操作示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12

最新评论