完美解决Github提交PR后报错:File is not gofumpt-ed (gofumpt)

news2024/12/24 19:28:45

问题阐述

最近在Github上提交PR后,遇到了这么一个问题:golangci-lint运行失败,具体原因是File is not gofumpt-ed (gofumpt)

名词解释

golangci-lint: golangci-lint 是Go语言社区中常用的代码质量检查工具,它可以帮助开发者发现代码中的潜在问题和不规范之处。它集成了多种代码检查工具,用于检查代码风格、静态分析、性能问题等。

可以在本地使用该工具,会输出当前项目的警告与错误等。

//前提确保`GOPATH/bin`在path环境变量里
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
golangci-lint run

gofumpt: gofumpt 是一个用于格式化Go代码的工具,它是 gofmt 的替代品。gofmt 是Go语言官方提供的代码格式化工具,而 gofumpt 是在 gofmt 基础上进行改进的,旨在强制执行一种更加一致和规范的代码风格。

//前提确保`GOPATH/bin`在path环境变量里
go install mvdan.cc/gofumpt@latest
gofumpt -w your_file.go

在我的情况下,出现了File is not gofumpt-ed的错误,意味着提交中的某个文件不符合 gofumpt 规定的代码格式。这可能是因为代码中的一些排版问题,例如缩进、空格、换行等方面不符合规范。为了通过代码审查,需要对这些文件进行格式化,使其符合 gofumpt 的规范。

解决办法

从我提供的截图可以看到:Check failure on line 20 in object/get-dashboard.go。说明是get-dashboard.go这个文件20行有问题。只需要cd到有问题的go文件目录,执行命令:gofumpt -w get-dashboard.go。这样gofumpt 工具就会自动帮我们格式化代码。格式化的结果就是将部分多余的换行删了,也就是删掉第20行。然后我重新commit代码,发现golangci-lint就可以通过了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/871841.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

阿里云弹性裸金属服务器详细介绍(原神龙)

阿里云弹性裸金属服务器(ECS Bare Metal Server)是一种可弹性伸缩的高性能计算服务,原神龙服务器,计算性能与传统物理机无差别,具有安全物理隔离的特点,裸金属服务器分钟级的交付周期。阿里云服务器网分享阿…

现代控制理论step()函数使用方法,多输入多输出系统的阶跃响应图如何只输出一个输入对应输出的阶跃响应图(step(sys)如何单独显示一个子图)

多输入多输出系统的阶跃响应图 考虑以下二阶状态空间模型: A [-0.5572,-0.7814;0.7814,0]; B [1,-1;0,2]; C [1.9691,6.4493]; sys ss(A,B,C,0);这个模型有两个输入和一个输出,因此它有两个通道: 从第一个输入到输出,从第二个输入到输出。每个通道都…

ArcGIS Maps SDK for JavaScript系列之一:在Vue3中加载ArcGIS地图

目录 ArcGIS Maps SDK for JavaScript简介ArcGIS Maps SDK for JavaScript 4.x 的主要特点和功能AMD modules 和 ES modules两种方式比较Vue3中使用ArcGIS Maps SDK for JavaScript的步骤创建 Vue 3 项目安装 ArcGIS Maps SDK for JavaScript创建地图组件 ArcGIS Maps SDK for …

使用 vpn 后 git clone 无法下载项目

使用VPN后 git clone 命令无法下载项目 偶发使用 vpn 后 git clone 项目会卡住,或者报 timeout 错误 当我使用ping github.com是可以ping通的,但是 clone 项目就会卡住。去搜了一番发现: git 工具在使用代理后需要设置 git https.proxy 属…

Linux学习之awk数组

数组的定义: 数组是一种有关联关系的变量,通过下标依次访问。 数组名[下标] 值,下标可以使用数字也可以使用字符串。 数组的遍历: for(变量 in 数组名){ 数组名[变量] 操作 } 数组删除: delete 数组名,就可…

Fireworks CS6 不能把文件拖进去

打开软件安装文件夹 我的是:C:\Program Files\Adobe Fireworks CS6\Adobe Fireworks CS6 在该位置找到文件【Fireworks.exe】 右键属性 取消勾选,【以管理员身份运行此程序】

Mysql数据库第十三课-----------sql语句的拔高3--------直冲云霄

作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 ​🎂 作者介绍: 🎂🎂 🎂 🎉🎉&#x1f389…

Python Opencv实践 - 图像平移

import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/pomeranian.png", cv.IMREAD_COLOR)#图像平移 #cv.warpAffine(src, M, dsize[, dst[, flags[, borderMode[, borderValue]]]]) # M是仿射变换矩阵,对于平移来说M是一…

【网络编程】高级IO

文章目录 一、五种IO模型的基本理念二、IO重要概念 1.同步通信与异步通信的对比2.阻塞VS非阻塞三丶非阻塞IO的代码演示四丶IO多路转接select总结 一、五种IO模型的基本理念 首先IO就是 等 数据拷贝,还记得我们之前实现服务器用的read/recv接口的,当时我…

Codeforces Round 892 (Div. 2)

A.最大值只能由自己除&#xff0c;所以无解的情况只能是全部相同&#xff0c;否则直接最大值放c即可 #include<bits/stdc.h> using namespace std; const int N 2e510,mod998244353; #define int long long typedef long long LL; typedef pair<int, int> PII;in…

【TI毫米波雷达笔记】MMWave配置流程避坑

【TI毫米波雷达笔记】MMWave配置流程避坑 在TI SDK目录下的mmwave.h文档说明中 强调了要按以下配置&#xff1a; mmWave API The mmWave API allow application developers to be abstracted from the lower layer drivers and the mmWave link API.The mmWave file should b…

macOS使用ffmpeg与QT进行音视频推拉流

1.先启动流服务器 ./mediamtx 2.开始推流: ffmpeg -re -stream_loop -1 -i /Users/hackerx/Desktop/test.mp4 -c copy -rtsp_transport tcp -f rtsp rtsp://127.0.0.1:8554/stream 3. 安装ffmpeg 4.4 brew install ffmpeg4 4.添加ffmpeg头文件目录与库目录 5.链接ffmpeg相关库…

【Rust】Rust学习 第十一章编写自动化测试

Rust 是一个相当注重正确性的编程语言&#xff0c;不过正确性是一个难以证明的复杂主题。Rust 的类型系统在此问题上下了很大的功夫&#xff0c;不过它不可能捕获所有种类的错误。为此&#xff0c;Rust 也在语言本身包含了编写软件测试的支持。 编写一个叫做 add_two 的将传递…

⑤ Axios网络请求

Axios安装 cnpm install --save axios post请求需要用到的&#xff1a; cnpm install --save querystring(用来转换格式的) 引入 一般是全局引入&#xff0c;在main.js中引入 全局引入后的get和post方式使用 get请求方式 post请求方式 先引入&#xff1a; axios封装…

Android之版本号、版本别名、API等级列表(全)(一百六十二)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

前端性能优化——包体积压缩,打包速度提升,提升浏览器响应的速率

前端代码优化 –其他的优化可以具体在网上搜索 压缩项目打包后的体积大小、提升打包速度&#xff0c;是前端性能优化中非常重要的环节&#xff0c;结合工作中的实践总结&#xff0c;梳理出一些 常规且有效 的性能优化建议 ue 项目可以通过添加–report命令&#xff1a; "…

Java进阶-Oracle(二十)(1)

&#x1f33b;&#x1f33b; 目录 一、Oracle 数据库介绍1、Oracle 的概述2、Oracle 的结构2、Oracle的功能 二、安装与卸载1、卸载2、安装 三、使用&#xff08;需要关注得只有下面这两个&#xff09;四、PLSQL 的简单使用五、DBeaver 的简单使用 一、Oracle 数据库介绍 1、O…

ORB-SLAM2第一节---地图初始化

单目初始化 1.前提条件&#xff08;640*480&#xff09; 参与初始化的两帧各自的特征点数目都需要大于100.两帧特征点成功匹配的数目需要大于或等于100.两帧特征点三角化成功的三维点数目需要大于50. 2.针对条件三 流程如下 记录当前帧和参考帧&#xff08;第一帧&#xff…

MyBaits动态SQL

MyBaits动态SQL <include>用法 <where>用法 <if>用法 CONCATlike使用${...}使用#{...}使用CONCAT()函数连接参数形式 <choose><when><otherwise>例子 limit 字段变量&#xff0c;内部属性“refid”&#xff0c;后跟自定义的一段内容的名字…

什么是管程?

前言 在并发编程领域&#xff0c;最核心的两个理念就是同步和互斥&#xff0c;并发编程就是围绕这两个核心概念来完成的。 互斥&#xff1a;同一时刻只能有一个线程持有共享资源同步&#xff1a;多个线程之间协调、互作 在最初&#xff0c;人们利用信号量机制来实现互斥和同步…