为了账号安全,请及时绑定邮箱和手机立即绑定

禁用 go vet 检查“复合文字使用无键字段”

禁用 go vet 检查“复合文字使用无键字段”

米琪卡哇伊 2021-12-27 17:56:13
我在 CI 工具上运行 go vet,并开始收到错误消息:composite literal uses unkeyed fields因为我正在实例化type A struct {   *B}像这样:A{b} // b is of type *B我不在乎这个警告,想在我的兽医检查中禁用它。我该怎么做呢?
查看完整描述

3 回答

?
千万里不及你

TA贡献1784条经验 获得超9个赞

您可以禁用它,也可以改为修复代码:

a := A{B: b}


查看完整回答
反对 回复 2021-12-27
?
慕标5832272

TA贡献1966条经验 获得超4个赞

$ go doc cmd/vet

默认情况下执行所有检查。如果任何标志显式设置为 true,则仅运行那些测试。相反,如果任何标志显式设置为 false,则仅禁用那些测试。因此 -printf=true 运行 printf 检查,-printf=false 运行除 printf 检查之外的所有检查。


Unkeyed composite literals


Flag: -composites


Composite struct literals that do not use the field-keyed syntax.


查看完整回答
反对 回复 2021-12-27
?
大话西游666

TA贡献1817条经验 获得超14个赞

如果您使用的是语言服务器。

Gopls on by default in the VS Code Go extension

gopls 默认情况下会进行兽医检查

"gopls": {     "analyses": { "composites": false }
 },


查看完整回答
反对 回复 2021-12-27
  • 3 回答
  • 0 关注
  • 280 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信