首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【腾讯云代码分析】Go语言linter分享之Govet

【腾讯云代码分析】Go语言linter分享之Govet

作者头像
CodeDog
发布2025-06-15 10:23:00
发布2025-06-15 10:23:00
1280
举报

官网地址:(点击最下方【阅读原文】可直达)https://tca.tencent.com/

官方介绍:https://cloud.tencent.com/product/tcap

境内开源:https://cnb.cool/tca/code-analysis

境外开源:https://github.com/Tencent/CodeAnalysis

  背景概览  

Go语言社区有很多优秀的linter,也就是静态代码分析工具,帮助维护代码质量。

其中知名的GolangciLint是一个快速的Go语言linters运行器,它并行运行linters,并包含一百多个linters,其中包含govet、errcheck等常用linters 。腾讯云代码分析已支持工具GolangciLint,并可通过工具规则配置其众多linters。

例如今天要讲解的Govet这个linter,以及如何在腾讯云代码分析上使用它。

  规则概述  

Vet检查Go源代码并报告可疑结构,例如Printf调用,其参数与格式字符串不一致。Vet 使用启发式方法不能保证所有报告都是真正的问题,但可以发现错误未被编译器捕获。

Govet可用的检查例如:

规则名

简介

atomic

检查使用 sync/atomic 的常见错误(例如直接赋值给原子值)

assign

检查无用的赋值语句(例如 x = x)

fieldalignment

检测结构体字段排序,以减少内存使用

printf

检查 Printf 格式字符串和参数的一致性(例如缺少参数)

unusedresult

检查未使用的函数调用结果

...

......

官方文档:https://pkg.go.dev/cmd/vet

示例:

图片
图片

  规则使用说明

进入页面,点击方案->规则配置 -> 自定义规则包-> 添加规则 ->搜索规则名Govet->选择需要添加的规则 ->添加规则

图片
图片
图片
图片

启用所有govet检查项,并设置其中的shadow严格检测,可能会检出更多问题以及造成误报干扰

可在tca规则参数,使用json格式,参照 GolangciLint 的 linter 配置(https://golangci-lint.run/usage/linters/#govet)进行设置

图片
图片
图片
图片
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-06-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯云代码分析 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •   背景概览  
  •   规则概述  
  •   规则使用说明
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档