
云原生
文章平均质量分 72
云原生
InterestingFigure
Salted fish in hand, I have the world.
展开
-
好用的源码行数统计工具——cloc
该命令会统计当前文件夹下所有符合.c和.h的文件。:统计某一压缩文件中的代码行数;:统计当前目录下的代码行数;原创 2022-10-27 10:24:11 · 1859 阅读 · 0 评论 -
makefile简单使用
commandtarget:一个object file(目标文件)、一个执行文件、一个标签(label)。label涉及“伪目标prerequisites: 生成该 target 所依赖的文件或targetcommand: 该 target 要执行的命令(任意的 shell 命令)这是一个文件的依赖关系,也就是说, target 这一个或多个的目标文件依赖于 prerequisites 中的文 件,其生成规则定义在 command 中。原创 2022-10-26 15:18:05 · 1084 阅读 · 0 评论 -
Golang实现多态
在Go中,接口就是方法签名method signature的集合,当一个类型实现了接口的所有方法,我们就称该类型实现了这个接口。定义一个接口可以进行文件读写:2. 实现接口3. 接口赋值接口赋值在Go中包含两种情况:将对象实例赋值给接口将一个接口赋值给另一个接口我们现在构造一个特殊的例子,意在指出将对象实例赋值给接口时可能出现的错误:如果我们要将对象赋值给接口,那么下述两种写法是不同的:错误的语句编译期间报错如下:原因在于Go可以根据值传递版本的方法成员自动生成指针传递版本的方法成员,因此*转载 2022-06-13 17:52:50 · 620 阅读 · 0 评论 -
如何查看单测覆盖度
如何查看单测覆盖度1、查看前先生成单测的覆盖文件2、查看各个函数的覆盖度与总覆盖度2.1、直接输出各个文件下的各个函数的覆盖度与总覆盖度2.2、如果不想直接输出,而是写到文件:3、如何查看具体代码行的覆盖情况3.1 通过浏览器 html 文件查看3.2 通过go-carpet 命令查看4、如何不让非重要的或者废弃的代码逻辑影响整体覆盖度1、查看前先生成单测的覆盖文件go test -v -race $(go list ./... |grep -v /cmd |grep -v /vendor) -cove原创 2022-05-30 17:36:08 · 968 阅读 · 0 评论 -
Linux使用命令行下查看Sqlite3数据库
Linux使用命令行下查看Sqlite3数据库安装sqlite3使用安装sqlite3sudo apt-get install sqlite3等到跳出Do you want to continue? [Y/n] 的时候,输入Y回车即可使用进入.db目录sqlite3 xx.db.mode column.headers onselect * from user;...原创 2022-05-27 16:42:34 · 1564 阅读 · 0 评论 -
Gerrit报错:Permission denied publickey的解决办法
Gerrit报错:Permission denied 解决办法前言解决办法前言在使用Gerrit clone代码的时候,你会发现报错,错误信息大概是:Permission denied (publickey)。OpenSSH从8.8版本开始由于安全原因开始弃用了rsa加密的密钥。因为OpenSSH认为rsa破解成本太小了,有风险就给禁用了。你可以通过命令:ssh -v [git服务器]去查看Gerrit服务器的OpenSSH的版本号,如果≥8.8,就可以用这个方法。解决办法进入本机 .原创 2022-05-27 16:11:58 · 9324 阅读 · 8 评论 -
Go语言文件读取
Go语言文件读取简介1. 整个文件读取入内存1.1 直接指定文件名读取1.2 先创建句柄再读取2. 每次只读取一行2.1 使用 bufio.ReadBytes2.2 使用 bufio.ReadString3. 每次只读取固定字节数3.1 使用 os 库3.2 使用 syscall 库怎么选择 Go 文件读取方案创建不同大小的文件整个文件加载逐行读取块读取总结简介引用:超全总结:Go 读文件的 10 种方法怎么选择 Go 文件读取方案1. 整个文件读取入内存1.1 直接指定文件名读取在 Go原创 2022-05-27 10:40:34 · 1993 阅读 · 0 评论 -
30 多个 Go 常用文件操作的示例
30 多个 Go 常用文件操作的示例介绍一切皆文件文件基本操作创建空文件Truncate裁剪文件获取文件信息重命名和移动删除文件打开和关闭文件检查文件是否存在检查读写权限改变权限、拥有者、时间戳创建硬链接和软链接文件读写复制文件写文件快写文件使用缓存写读取最多N个字节读取正好N个字节读取至少N个字节读取全部字节快读到内存使用缓存读使用 scanner文件压缩打包(zip) 文件抽取(unzip) 文件压缩文件解压缩文件文件其它操作临时文件和目录通过HTTP下载文件哈希和摘要介绍一切皆文件UNIX 的一转载 2022-05-24 16:42:51 · 603 阅读 · 0 评论 -
Go语言6种字符串拼接的方式
Go语言6种字符串拼接的方式前言string类型字符串拼接的6种方式及原理原生拼接方式"+"字符串格式化函数fmt.SprintfStrings.builderbytes.Bufferstrings.join切片appendBenchmark对比总结前言本文使用Go语言版本:1.17.1string类型我们首先来了解一下Go语言中string类型的结构定义,先来看一下官方定义:// string is the set of all strings of 8-bit bytes, conventi转载 2022-05-24 15:45:25 · 5249 阅读 · 0 评论 -
Go 中的那些语法糖
Go 中的那些语法糖简介1. 短变量声明需要注意几个规则2. new 函数3. ...与切片4. 接收者方法5. for range简介语法糖(英语:Syntactic sugar)是由英国计算机科学家彼得·兰丁发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能没有影响,但是更方便程序员使用。语法糖可以让程序更加简洁,有更高的可读性。具体在 Go 语言中,有哪些常见语法糖呢?本文来盘点一下。1. 短变量声明在 Go 函数中,我们可使用name:= expression的语法形式来声转载 2022-05-20 16:41:49 · 249 阅读 · 0 评论 -
如何判断一个 interface{} 的值是否为 nil ?
如何判断一个 interface{} 的值是否为 nil ?1. 两个 interface 比较第一种情况第二种情况2. interface 与 非 interface 比较参考请看下面这段代码,可以先猜测一下输出的结果。package mainimport ( "fmt")func main() { var a *string = nil var b interface{} = a fmt.Println(b==nil) }答案应该会跟你下意识的回转载 2022-05-20 16:36:13 · 202 阅读 · 0 评论 -
获取主机的硬盘、CPU、内存、进程等使用情况:psutil 的 Go 语言版 (gopsutil)
获取主机的硬盘、CPU、内存、进程等使用情况gopsutil 简介使用总结如果有个 Go 开发需求:获取主机的硬盘、CPU、内存、进程等使用情况,你会怎么做?比较朴素的想法是通过 os/exec 去执行某些例如 ps、cd、top 命令,之后解析它们的执行结果。当然,基于 Linux 的一切皆文件思想,更直接地做法是去读取相关文件内容,例如 /proc 目录下的文件。上面的方式能够完成需求,但是我们大不必重复造轮子,因为已经有相当完善的三方库为我们实现了这些采集需求,它就是 gopsutil。gops原创 2022-05-20 16:18:05 · 2043 阅读 · 0 评论 -
快速找到 Goroutine 泄露的地方
快速找到 Goroutine 泄露的地方简介goleak总结简介平时只需 go 关键字一下,成千上万个 goroutines 就出现了:for ... go func(){}起协程就跟下饺子的。这时就个大问题,因为协程用起来简单,出问题出起来也很快。也就是常常会出现 goroutine 泄露,查起来很费劲。goleak今天给大家推荐一个好物,定位为纯介绍。他来自 Uber 的 Goroutine leak detector[1],他能够结合单元测试去快速的检测 goroutine 泄露,转载 2022-05-19 16:29:55 · 224 阅读 · 0 评论 -
24 个 Docker 疑难杂症处理技巧
24 个 Docker 疑难杂症处理技巧出处1、Docker 迁移存储目录[解决方法 1] 添加软链接[解决方法 2] 改动 docker 配置文件2、Docker 设备空间不足3、Docker 缺共享链接库4、Docker 容器文件损坏5、Docker 容器优雅重启6、Docker 容器无法删除7、Docker 容器中文异常8、Docker 容器网络互通9、Docker 容器总线错误10、Docker NFS 挂载报错11、Docker 使用默认网段12、Docker 服务启动串台13、Docker 命令转载 2022-05-19 16:16:44 · 472 阅读 · 0 评论