Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

本篇博文用于记录博主打包Go语言编写出的程序至镜像的经历。最终打包出了82MB的镜像。该镜像功能简单,仅为Gin的示例代码。 踩坑进行时该标题下的内容只是详细记录一下博主的经历,想直接看最终做法的请直接翻到下一个标题。 我从Gin的README之中拷贝了示例代码,确认了它在本机可以运行,于是我就直接build了项目,之后将go build生成的二进制文件一同打包至镜像内,然后运行的时候提示我...

最近在家办公了,记录一下安装Go的过程。 我是参照的官方文档安装的。 首先下载安装包: 下载地址。 接下来开始安装,首先进入到安装包所在的文件夹,然后执行以下命令(如果之前没有安装过go就不用执行了,目的是删除之前安装的go。需要加sudo): 1rm -rf /usr/local/go 接下来执行这条命令(命令的含义: 将go1.17.7.linux-amd64.tar.gz解压到&#...

在学习AVL树的时候我就有用栈代替递归遍历树的想法了,当时只是觉得可行,奈何被左旋右旋单旋双旋转昏了头,拿递归实现都是硬着头皮做的,今天我实现了这个想法,感觉整个人都升华了。 PS 本篇博文只是博主实现心中突然冒出来的设想的产物,在写之前并没有查看过别的文章,而且写出来后代码也没有进行大量的测试,所以很有可能有大量的bug,不建议观看。 本篇博文的示例使用了一个路由前缀树,具有查找/...

本篇内容基于: Go 语言高性能编程。 注意: 本文内容不全,不建议观看! 注意: 本文仅指出结果,原理和测试过程请在原文(第一段的超链接)中检索。本文中的副标题仅对应原文中的标题,不含任何其他意义。 字符串拼接性能及原理1使用+和fmt.Sprintf的效率是最低的。strings.Builder, bytes.Buffer和[]byte的性能差距不大,消耗的内存也十分接近。综合易用性和性...

先上Github地址: lumberjack。 本篇博文中的示例为logrus + lumberjack。 因为没有找到很好的中文示例,我只能读文档了。所以本篇文章中的内容不会很高级,但会将其github上README文档中的内容简略写出。有时你可能会发现我完全是在翻译文档,请不要感到意外。 注意 这个包是v2.0版本的lumberjack,因此应该用 gopkg.in导入。[博主注: 不...

Github地址。 与logrus相关的比较全的中文文章:Go 每日一库之 logrus –darjun(强烈推荐看这篇,因为我写的不太全,而且内容也比较简单)。 日志级别Logrus有七个日志级别: Trace, Debug, Info, Warning, Error, Fatal和Panic。 123456789log.Trace("Something very low lev...

逻辑是先给一个变量加上将要运行的goroutine的数量,然后goroutine在运行结束时把数量减一。主线程会一直等待直到这个变量的值为0。那么代码如下: 12345678910111213141516171819202122package mainimport ( "fmt" "sync")var wg sync.WaitGroupfunc fun...

据说jsoniter的速度比golang标准库的速度快,我就来用了。 jsoniter提供的图表(它自己提供的哈,可不是我说的。图片网址是githubusercontent.com,所以国内用户可能看不到这个图): 项目地址。 项目中文Wiki(竟然有中文!)。 虽说有了中文Wiki我再写这篇markdown显得有点憨,但我还是写一下吧。 序列化结构体切片转换成JSON字符串...


愿火焰指引你