首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Go通关20:代码检查与优化!

安装成功后,我们使用它来进行代码检查,比如我们有如下代码: const name = "微客鸟窝" func main() { } 终端输入命令: golangci-lint run test/...golangci-lint 默认启用的 linter 有: deadcode - 死代码检查 errcheck - 返回错误是否使用检查 gosimple - 检查代码是否可以简化 govet - 代码可疑检查...在运行规范检查时,golangci-lint 会自动使用它。 不如我们在团队开发中,需要使用一个固定的 golangci-lint 版本,这样大家就可以基于同样的标准检查代码。...linters unexpectedly golangci-lint 的配置比较多,你可以根据自己需要来配置,可以参考官文档:https://golangci-lint.run/usage/configuration...我们可以通过 Makefile 的方式来运行 golangci-lint ,在项目根目录创建一个 Makefile 文件,代码为: getdeps: @mkdir -p ${GOPATH}/bin

1.2K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    golang搭配 makefile 真香!

    从此告别记忆长串的命令疯狂敲键盘 偶尔还会敲错的尴尬场景 比如: go build -o hello hello.go ....装配上Makefile,我们仅仅敲4个字符 make即可,我们开发过程中,不同阶段需要干不同的事儿, 清理编译中间目标文件 跑测试case 检查测试覆盖率 执行代码检查 等等 Makefile的goal...机制对这种情况进行了很好的抽象,以下是我工作当中的Makefile的配置,虽然不是很复杂但真的很有用。.../"${BIN_FILE}" lint: golangci-lint run --enable-all docker: @docker build -t leo/hello:latest ....直接运行程序" @echo "make lint 执行代码检查" @echo "make docker 构建docker镜像" 总结 使用Makefile来管理我们程序的构建,减少了大量输入、拼写错误

    41110

    有赞 GO 项目单测、集成、增量覆盖率统计与分析

    2.2.2 golangci-lint 的使用 在需要进行静态代码扫描的目录下执行 golangci-lint run,此命令和 golangci-lint run./… 命令等效,表示扫描整个项目文件代码...,并进行监测,也可以通过指定 go 文件或者文件目录名来对特定的代码文件或者目录进行代码扫描,例如 golangci-lint run dir1 dir2/...dir3/file1.go。...此外还检查未使用的导入 golint: 打印出 go 代码的格式错误 gofmt: 检测代码是否都已经格式化, 默认情况下使用 -s 来检查代码是否简化 ………………………….....未启用的还有很多工具,可以通过使用 golangci-lint help linters命令查看还有哪些工具可以使用,如果想要启用没有默认开启的工具,可以在执行命令时使用 -E 参数来启用,比如要启用...golint 的话,只需要执行一下命令 golangci-lint run-E=golint。

    5.4K41

    解决wget命令中的Could not resolve host错误

    在使用Linux系统时,你可能会遇到wget命令中出现"Could not resolve host"错误的情况。这种错误通常表示系统无法解析主机名或域名,导致无法下载所需文件。...在wget命令中,主机名通常是URL的一部分,例如: wget https://example.com/file.txt 如果主机名或域名拼写错误,系统将无法解析,导致出现"Could not...检查DNS解析:使用dig或nslookup命令检查域名的DNS解析情况,确保能够正确解析主机名。...sudo ufw disable # 在Ubuntu上禁用防火墙(根据你的系统使用适当的命令) wget https://example.com/file.txt示例:假设你想通过wget下载一个文件...首先,确认你的网络连接正常。然后,确保URL中的主机名或域名正确,没有拼写错误。如果仍然无法解决,可以尝试使用dig或nslookup命令检查域名的DNS解析情况。

    2.4K30

    如何解决 Windows-Linux 双启动设置中显示时间错误的问题

    但当你进入 Windows 时,它显示的时间是错误的。有时,情况正好相反,Linux 显示的是错误的时间,而 Windows 的时间是正确的。...我会向你展示上面的命令是如何修复 Windows 双启动后的时间错误问题的。 为什么 Windows 和 Linux 在双启动时显示不同的时间? 一台电脑有两个主要时钟:系统时钟和硬件时钟。...因此,Windows 显示时间为 09:30,这比实际时间(我们的例子中为 15:00)早了 5:30。...现在 Linux 显示的时间是 20:30,比实际时间超出晚了 5:30。 现在你了解了双启动中时差问题的根本原因,是时候看看如何解决这个问题了。...修复 Windows 在 Linux 双启动设置中显示错误时间的问题 有两种方法可以处理这个问题: 让 Windows 将硬件时钟作为 UTC 时间 让 Linux 将硬件时钟作为本地时间 在 Linux

    2.7K20

    Golang代码检查工具

    ,注释可选不是必须的外部可见程序实体不建议再加包名前缀if语句包含return时,后续代码不能包含在else里面errors.New(fmt.Sprintf(…)) 建议写成 fmt.Errorf(…)...receiver名称不能为this或selfreceiver名称不能为this或self错误变量命名需以 Err/err 开头a+=1应该改成a++,a-=1应该改成a--(4)检查的结果示例如下:middlewares.go...Golangci-lint(1)安装golangci-lintcurl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master...run service.go # 指定目录golangci-lint run internal/ # 检查当前目录所有.go文件,会递归查找当前目录及子目录golangci-lint run(3)golangci-lint...golangci-lint.run/usage/configuration/(4)检查的结果示例如下,-v参数可以看到更详细的检查结果# golangci-lint run -v service/service.goINFO

    1.9K61

    linux显示所有文件的大小,显示文件夹下文件的个数,hadoop命令中查看文件夹下的个数命令,模糊查询

    /company -type f | wc -l       查看某文件夹下文件的个数,包括子文件夹里的。       ...ls -lR|grep “^-“|wc -l       查看某文件夹下文件夹的个数,包括子文件夹里的。       ...)大小,并按文件大小排序       du -sk filename 查看指定文件大小 df -g 以G为单位查看系统目录内存情况 统计文件大小 du -h  磁盘使用率:du -h 在hadoop命令中查看文件夹下的个数命令...: hadoop fs -ls / |grep “^-“|wc -l 打印所有子文件夹下的文件个数 hadoop fs -ls -R |grep “^-“|wc -l hadoop下显示文件大小 hadoop...fs -du / 命令其实同linux一样。

    4.1K20

    Linux: Shell脚本中的命令输出捕获与错误处理探讨

    在Shell脚本编程中,处理命令的输出和错误信息是一个常见的需求。通过将命令的输出赋值给变量,并使用条件语句处理命令的返回状态,我们可以实现更为健壮和灵活的脚本。...在本文中,我们将详细探讨如何封装一个通用的执行命令函数,以便捕获命令输出和错误。 1. 基本的命令输出捕获 在Shell脚本中,可以使用反引号(``)或$()来捕获命令的输出。...res=$(ls /optdd 2>&1); then echo "error: $res" fi 上述代码中,如果ls /optdd命令失败,if条件将为真,并打印错误信息。...这种方法使得脚本能够更明确地处理命令执行的成功与否。 3. 封装通用的执行命令函数 为了提高代码的重用性和可维护性,我们可以将上述逻辑封装到一个函数中。..."ls /optdd" 在这个函数中,我们使用参数$1传递命令,并在函数内部捕获命令的输出和错误信息。

    1.2K10

    Linux内核的Makefile中cmd-check是如何检查前后两次执行的命令是一致的?

    Linux内核的构建工具用的是GNU Make,在其相关的Makefile中,有一个变量叫做cmd-check,其定义如下: # Check if both commands are the same...在if_changed命令中,如果$(newer-prereqs)$(cmd-check)部分展开后的结果不为空,则执行后面$(cmd)指向的命令,并将该命令用printf输出到特定的文件中。...cmd_link-vmlinux在Makefile中是有明确定义的,但cmd_vmlinux在Makefile中却没法找到明确定义的地方,这个也是初次研究linux内核的Makefile的同学会感到困惑的地方...这次的构建命令很容易获取,比如上面的cmd_link-vmlinux,是直接在Makefile中定义的,那上次的构建命令怎么获取呢? 对,肯定是保存到哪个文件里了。...再来回忆下if_changed命令,看下其中的printf部分,这不正是用来保存该次执行命令到特定文件的嘛。 知道了上次执行的命令被保存到了哪里,我们再来看下Makefile是如何使用它们的。

    1.6K10
    领券