让GO的代码稳点飞-《GO开发知识笔记》

admin 2025-11-04 01:02:15 编程 来源:ZONE.CI 全球网 0 阅读模式
  • 什么是lint
  • 如何使用lint
  • golangci-lint
    • 安装
    • 简单使用
  • 配置文件
  • 业务团队中如何推广

    在写代码的时候,或多或少有一些注意不到的地方,我们有没有办法在运行前就消灭掉一部分Bug呢?它来了,lint

    什么是lint

    • 通俗的讲就是静态语法检测,扫描&分析源代码,找出一些不符合规范的代码
    • 我们也可以根据团队的代码规范来自定义lint规则
    • 一切没有工具约束的规范都是耍流氓

      如何使用lint

    1. 我们可以在github上找到各种各样的lint,比如unuse code、deprecated api等
    2. 但是这里不推荐自己组合各种各样的lint,而是使用今天的主角 golangci-lint,它是一个lint框架,可以通过配置开启五花八门的lint,功能强大使用灵活

      golangci-lint

      安装

      macosbrew install golangci-lintshellcurl-sSfLhttps://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s – -b $(go env GOPATH)/binsourcego install github.com/golangci/golangci-lint/cmd/golangci-lint@更多安装方式

      简单使用

    • 查看支持哪些lint golangci-lint help linters

    让 GO 的代码稳点飞 - 图1

    • 执行lint,在需要lint的项目中执行 golangci-lint run (如果没有相关的配置文件,会走默认的lint配置)

    让 GO 的代码稳点飞 - 图2这里就可以根据lint的结果去做相应的修改了

    配置文件

    • 我们可以自定义配置文件,定制更符合业务规范的lint规则 ```java run: timeout: 5m modules-download-mode: readonly

    linters: disable-all: true enable: # 下面是开启的lint列表

    1. - errcheck
    2. - goimports
    3. - golint
    4. - govet
    5. - staticcheck

    linters-settings: golint:

    1. # minimal confidence for issues, default is 0.8
    2. min-confidence: 0.8

    issues: exclude-use-default: false max-issues-per-linter: 0 max-same-issues: 0 ```

    • 配置文件介绍(https://golangci-lint.run/usage/configuration/)

      业务团队中如何推广

      为了做好平滑的开启lint,推荐以下方式
    1. 每个项目确定责任人
    2. 分批开放lint规则,先从简单的启用,逐步过渡到符合业务的lint
    3. 在开启一个lint前由负责人先fix掉该lint引起的问题
    以太坊cppgolang区别 编程

    以太坊cppgolang区别

    以太坊是一种去中心化的开源平台,它采用智能合约技术,旨在构建和运行不受干扰的分布式应用程序。作为目前最受欢迎的区块链平台之一,以太坊提供了多种编程语言的支持,其
    progolang 编程

    progolang

    Go语言(Golang)是由Google开发的一门静态类型编程语言。作为一名专业的Golang开发者,我深知这门语言的优势和特点。在本文中,我将介绍Golang
    golangn个发送者 编程

    golangn个发送者

    Golang是一种开源的编程语言,由Google团队开发,旨在提高程序的并发性和简化软件开发过程。在Go语言中,有时需要向多个接收者发送信息。本文将介绍如何在G
    golang技能图谱 编程

    golang技能图谱

    从互联网行业的快速发展到人工智能技术的日益成熟,各种编程语言也应运而生。而在这众多的编程语言中,Golang(即Go)作为一门强大且高效的开发语言备受关注。Go
    评论:0   参与:  10