golangci-line 工具介绍

Python011

golangci-line 工具介绍,第1张

在 ci 过程中,经常有一些可以通过静态分析或者白盒检测去避免一些问题以及规范代码格式!使用Go语言一般是使用 golangci-line 作为代码检测工具

参考官网:https://golangci-lint.run/

安装: curl-sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.43.0

版本信息: golangci-lint--version

目前我司是自己二开的 golangci-line,所以这里使用的开源版本,其实大同小异,就是开发了一些插件!

这个就是一个工具,集成了各类自动检测代码的工具,所以不需要本地安装太多的工具,只需要这个工具即可!

由于它需要一个go的项目,这里以我自己的项目去介绍, 项目地址:https://github.com/Anthony-Dong/go-tool,如果有同学想自己尝试下可以直接下载我这个项目!项目也比较规范!

其实执行golangci-lint run-h 就可以获取以下帮助

例如我经常使用的: 我日常就是开启format功能!

1、默认使用的插件

2、默认没用的

3、presets 分类:

具体可以参考我的: https://github.com/Anthony-Dong/go-tool/blob/master/.golangci.yaml

主要是做一些 无用代码检测,简化代码,格式化代码!然后执行 golangci-lint run --fix 即可

可以去DELVE官网进行下载。

关于delve工具的介绍,这里简单给大家介绍一下。

delve在go项目及应用的开发中可以用来追踪程序中的异常代码,也可以通过打日志的方式追查问题,但是更重要也是非常厉害的一点,就是delve可以直接分析程序执行的情况。这一点在后期或线上的问题排查中无疑是提供了一个非常大的便捷。

Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。

Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。

Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础。

采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。

Delve常用命令

命令功能:

dlv attach后面跟 pid,用来Debug编译好的Golang程序。

dlv core用于 coredump。

dlv debug后面跟要调试的 go 文件,进入 Debug。

dlv testDebug test 函数。