安装成功后,我们使用它来进行代码检查,比如我们有如下代码: 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
maxdepth 6 -nameAndroidProducts.mk) \ $(SRC_TARGET_DIR)/product/AndroidProducts.mk endef makefile...文件中如出现一些相同的命令序列,可为这些相同的序列定义一个变量,不能和makefile文件中的变量重名,这里是_find-Android-products-files,定义这种命令序列的语法以define...命令包的使用,就像使用变量一样: define get-all-product-makefiles $(call get-product-makefiles...,$(_find-android-products-files)) endef $(_find-android-products-files),用$来使用命令包,就像使用函数和变量一样...这里call是函数名,get-product-makefiles和$(_find-android-products-files)是函数的参数
linter的原理是通过静态代码分析,发现其中隐藏的错误或者不符合规范的地方,然后给暴露出来,提升系统的稳定性。...来实现代码扫描的,我们的linter工具如何集成到golangci-lint里面呢?.../pkg/lint/lintersdb/manager.go中引入,否则在命令行中看不到 lcs := []*linter.Config{ linter.NewConfig(golinters.NewfirstparamcontextCheck.../cmd/golangci-lint 然后到我们的demo目录下测验下 % ...../golangci-lint/golangci-lint run -E firstparamcontext main.go:8:1: ''add' function first params should
jupyter notebook作为一个强大的python IDE,有一些自带的魔法命令(Magic Command),可以帮我我们高效的运行程序 。 1....%run %run后面写python脚本的路径,可以直接执行该py文件并且加载到jupyter中。...format(name)) greet('Daming') 在jupyter中导入: %run ~/Documents/writethings/20200818/greet.py greet('Wang...jupyter测试了1000个loop,然后得出了mean+-sd的时间。 但是当我们的程序要运行很长时间时: ? jupyter会根据程序的时长来判断loop的次数。...如果我们需要测试一段代码的时间,则可以用%%timeit: ? 如果想知道说明的话,可以输入%run?来查询: ?
从此告别记忆长串的命令疯狂敲键盘 偶尔还会敲错的尴尬场景 比如: 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来管理我们程序的构建,减少了大量输入、拼写错误
自定义一些变量,在流水线执行过程中以环境变量的形式存在。...具体的脚本抽取到Makefile里,.gitlab-ci.yml只做流水线控制。...而且Makefile支持任意环境执行,不依赖于gitlab流水线(使用到gitlab流水线变量的除外),开发可在本地运行Makefile的脚本。.../golangci-lint@v1.45.0 golangci-lint run -v --timeout=5m --color always --out-format colored-line-number....PHONY:伪目标,可以防止在Makefile中定义的命令目标和工作目录下的实际文件出现名字冲突。
寻觅了良久终于找到了mac下如何在终端显示tree的命令了,作为从linux下转过来的人,还没适应mac的finder,还是喜欢在命令行下查看文件。 命令: find ....-print | sed -e 's;[^/]*/;|____;g;s;____|; |;g' 然后手动alias一下,在你的.bash_profile或者.zshrc中添加: alias tree="...要是能显示颜色和控制层级就更好了。 PS:也可以通过brew install tree 安装。
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。
在使用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解析情况。
pre-commit.sample 里有默认的文件内容,我们可以选择性的删除或修改。编写钩子逻辑在钩子脚本中,你可以编写任何 shell 脚本或命令。...exit 1 figolangci-lint 多种 linter 集成工具golangci-lint 是一个功能强大的 Go 代码静态分析工具,它将多个 Go 语言的 linters 集成在一起,能够快速检测代码中的多种问题...,如性能问题、潜在错误、重复代码等。...能够发现代码中的潜在问题、错误、性能瓶颈等。可配置,允许开发者根据项目需求启用或禁用特定的检查。.../bin/sh golangci-lint run if [ $? -ne 0 ]; then echo "golangci-lint 发现了很多问题,请修复它们。"
lpstat命令用于显示CUPS中打印机的状态信息。...语法 lpstat(选项) 选项 -E:与打印机连接时加密; -R:显示打印任务的等级; -U:指定可选用户名; -a:显示接受打印任务的打印机; -c:显示打印机类; -d:显示默认打印机; -h:指定可选的服务器信息...; -l:显示长格式; -p:显示指定打印机,以及打印机是否接受打印任务; -s:显示汇总信息; -t:显示所有的状态信息。
但当你进入 Windows 时,它显示的时间是错误的。有时,情况正好相反,Linux 显示的是错误的时间,而 Windows 的时间是正确的。...我会向你展示上面的命令是如何修复 Windows 双启动后的时间错误问题的。 为什么 Windows 和 Linux 在双启动时显示不同的时间? 一台电脑有两个主要时钟:系统时钟和硬件时钟。...因此,Windows 显示时间为 09:30,这比实际时间(我们的例子中为 15:00)早了 5:30。...现在 Linux 显示的时间是 20:30,比实际时间超出晚了 5:30。 现在你了解了双启动中时差问题的根本原因,是时候看看如何解决这个问题了。...修复 Windows 在 Linux 双启动设置中显示错误时间的问题 有两种方法可以处理这个问题: 让 Windows 将硬件时钟作为 UTC 时间 让 Linux 将硬件时钟作为本地时间 在 Linux
,注释可选不是必须的外部可见程序实体不建议再加包名前缀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
那就是Makefile! 这Makefile允许我们在一个文件中创建一组不同的命令来自动化我们的工作流程。...输入命令后我们在终端中可以看到两个输出:一个我们用来格式化代码的命令dart format .和格式化的结果。...但是错误信息不够清楚:make: *** [run_unit] Error 1....当命令失败时,我们可以使用||运算符提供更合适的错误消息: run_unit: @echo "╠ Running the tests" @flutter test || (echo "...添加帮助命令 虽然没有现成的显示帮助消息的解决方案,但我们可以使用这个非常有用的Github Gist。
go的一些小概念 学习过程中整理的小知识 1. GOROOT目录 golang的安装路径 2....go run, go install等命令的当前路径(即在此路径下执行上述命令) pkg : 编译时生成的缓存文件(.a),项目的第三方源码也可能在这个位置,具体看是否开启GOMODULE模块支持 bin...文件,里面写入了依赖的版本等 使用go module之后我们可不用将代码放置在src下了 4.2. go module的常用命令 go mod init # 初始化go.mod...settings打开 6. go-lint go-lint用来检查go代码编码是否规范 6.1. golangci-lint的使用 github : https://github.com/wangjunemse.../golangci-lint F:\GoProjects\test1\src>golangci-lint run ./... goland中的设置 (1) 安装go-linter插件 (2) 安装go
/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一样。
在Shell脚本编程中,处理命令的输出和错误信息是一个常见的需求。通过将命令的输出赋值给变量,并使用条件语句处理命令的返回状态,我们可以实现更为健壮和灵活的脚本。...在本文中,我们将详细探讨如何封装一个通用的执行命令函数,以便捕获命令输出和错误。 1. 基本的命令输出捕获 在Shell脚本中,可以使用反引号(``)或$()来捕获命令的输出。...res=$(ls /optdd 2>&1); then echo "error: $res" fi 上述代码中,如果ls /optdd命令失败,if条件将为真,并打印错误信息。...这种方法使得脚本能够更明确地处理命令执行的成功与否。 3. 封装通用的执行命令函数 为了提高代码的重用性和可维护性,我们可以将上述逻辑封装到一个函数中。..."ls /optdd" 在这个函数中,我们使用参数$1传递命令,并在函数内部捕获命令的输出和错误信息。
它是由 ASCII 码字符组成的序列,用于实现在命令行终端改变图形显示和控制光标移动。...它的前两个字符固定是: 转义字符 Esc,ASCII 码为 27 (十六进制:0x1b) 左中括号字符 [,ASCII 码为 91 (十六进制:0x5b) 后跟控制键盘和显示功能的字母数字码(区分大小写...,使用任何编程语言都可以实现在命令行终端显示不同颜色的文字和背景色。...3.3 重置所有属性 细心的读者应该注意到,在设置新的显示属性前,之前设置的属性会一直保留,即使是命令行提示符也会受到影响。...The End 命令行中显示五彩斑斓的“黑”就是这么简单!
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是如何使用它们的。
领取专属 10元无门槛券
手把手带您无忧上云