将 dep 更换为 go mod

之前一直在使用 dep 来管理项目, 最近碰到了两个恶心的事情, 就是安装 ali-oss-sdk 和 go-ethereum 客户端的时候超级慢,lantern 也是半费状态, 时断时连...

sort 包源码分析

最近自定义 sort 排序的时候, 发现了个问题, 就是根据 struct 的一个字段排序的时候, 排序完了 相对位置被改变了, 最后只能把多个字段都比较下, ...

httprouter 源码分析

关于 [httprouter](https://github.com/julienschmidt/httprouter) 本身就不过多说了,可以直接去查看源码及 README 。 这个包相对还是比较简单了,只有几个文件,并且...

Go 编写 Web 应用

这是一篇官方的 [Writing Web Applications](https://golang.org/doc/articles/wiki) 的翻译 如果 `golang.org` 打不开的话,可以把所有链接中的 `golang.org` 更换成 `golang.google...

Gin 框架中文文档(翻译)

这几天在使用 Gin ,英文文档找东西有点慢,就尝试着翻译下,欢迎围观,欢迎指出错误。 原文就是 [Gin 的 readme.md](https://github.com/gin-gonic/gin/blob/master/RE...

archive/zip 实现压缩及解压

看标准库文档,就会发现, archive/zip 和 archive/tar 看起来方法名什么的都很像。使用起来也差不多,如果是按照我的文档顺序看到的这篇文档,上一篇 ta...

archive/tar 实现打包压缩及解压

这个包比较简单,就是将文件进行打包和解包,要是熟悉 Linux 下的 tar 命令这个就很好理解了。 主要是通过 tar.Reader 读取 tar 包,通过 tar.Writer 写入 tar ...

Golang 实现和 Laravel 类似的 .env 配置

在使用 Laravel 的时候,会觉得它是优雅的,可能 Golang 主要的领域不是在 Web 开发中,也可能是它还太年轻,没有发现一个像 Laravel 一样优雅的框架,有...

Go 不使用加号实现 A+B

Go 不使用加号实现 A+B,此问题来自: [lintcode](https://www.lintcode.com/problem/a-b-problem/description) 说明 a 和 b 都是 32 位 整数么?

HTTP 客户端 - 使用 Client 类型

这章主要介绍了 Client 类型以及 Do 和 Head 的使用。 [示例代码](https://github.com/BroQiang/go-packages-study/tree/master/packages/net/http/client) Client 类型代表 HTTP 客户端...