• helloworld
    2021-07-01
    我使用vim+ale+golangci-lint做Go的静态代码检查,编写代码的过程中保存文件时自动触发检查,第一时间在文件内就给出了错误或警告的提示信息,直接按提示修复即可,基本上用不着在命令行执行golangci-lint命令。而且配置了package级别的检查,不存在因单文件检查出现的误报。

    作者回复: 在ide中集成,每个文件都检查,非常好的思路。但Ci的时间也需要用到golangci-lint。

    
    11
  • demon
    2021-07-03
    如果使用的IDE像goland这种,自身就带静态代码检查吧?

    作者回复: goland也是需要配置的。

    共 2 条评论
    3
  • lesserror
    2021-10-03
    孔老板,这句话没太理解:“首先,如果启用了 nolintlint,你就需要在//nolint后面添加 nolint 的原因// xxxx。” 麻烦能再解释一下吗?

    作者回复: nolintlint:用来检查//nolint的格式是否是// nolint: gomnd // xxx这种格式。xxx是nolint的原因,例如: // nolint:unused // may be reused in the feature, or just show a migrate usage. nolintlint可以再.golangci.yaml文件中启用和设置: nolintlint: # Enable to ensure that nolint directives are all used. Default is true. allow-unused: true # Disable to ensure that nolint directives don't have a leading space. Default is true. allow-leading-space: true # Exclude following linters from requiring an explanation. Default is []. allow-no-explanation: [] # Enable to require an explanation of nonzero length after each nolint directive. Default is false. require-explanation: false # Enable to require nolint directives to mention the specific linter being suppressed. Default is false. require-specific: true

    共 2 条评论
    2
  • HappyHasson
    2022-06-24 来自广东
    如何在 golangci-lint 中集成自定义的 linter?

    作者回复: https://golangci-lint.run/contributing/new-linters/ 看下这篇文章

    
    1
  • 咖梵冰雨
    2021-11-11
    "D:\Program Files\Go\bin\golangci-lint.exe" run D:\www\golang\test\main.go level=error msg="Running error: context loading failed: failed to load packages: failed to load with go/packages: err: go resolves to executable in current directory (.\\go.exe): stderr: " window golang 配置external Tools报这个错误,请问是什么原因

    作者回复: 看下是不是go的安装路径有问题,不是标准的二进制存放路径。其实你这个问题,我没有遇到过,但我网上搜到了相似的问题,里面会有你想要的解释: https://gocn.vip/topics/11648 像这种错误,你可以自己尝试先解决,解决的过程也是学习的过程

    
    1
  • Jone_乔泓恺
    2022-07-05 来自广东
    老师:文中【技巧 4:尽可能多地使用 golangci-lint 提供的 linter】 中的两个查看 linters 的命令是不是放反了? 【golangci-lint 集成了很多 linters,可以通过如下命令查看:】`golangci-lint help linters` 【如果配置了 golangci-lint 配置文件,则可以通过命令golangci-lint help linters查看在当前配置下启用和禁用了哪些 linter】`golangci-lint linters`

    作者回复: 感谢反馈,是写反了,我修复下

    
    
  • HappyHasson
    2022-06-26 来自广东
    怎么联系老师呢,有项目问题想请教?

    作者回复: 老师微信nightskong

    
    
  • Sch0ng
    2021-08-10
    使用golangci-lint做静态代码检查。检查速度快,功能强大,配置灵活,社区活跃,许多大公司在用。 静态代码检查可以守住代码质量的底线。
    
    3
  • yk
    2021-09-18
    贼有用
    
    1
  • __PlasticMan
    2023-08-13 来自四川
    print_enable_linters.sh脚本可以改一下,输出的行为` - <linter name> # <linter description>`,这样在配置文件中可以比较方便地看到linter的用途: ```shell #!/usr/bin/env bash disable=( golint tagliatelle wrapcheck forcetypeassert goerr113 gomnd wsl testpackage gochecknoglobals interfacer maligned scopelint gocritic ) OLD_IFS=${IFS} IFS=$'\n' all=(`golangci-lint linters | awk -F':| ' '!match($0, /Enabled|Disabled|^$/){printf("%s # %s\n",$1,$0)}' | sort`) for item in ${all[@]} do if ! echo "${disable[@]}" | grep -w `echo "${item}" | awk -F' # ' '{print $1}'` &> /dev/null; then echo " - ${item}" fi done IFS=${OLD_IFS} ```
    展开
    
    