Go 1.18新库netaddr里的intern.Value

Go 1.18引入了新库netaddr来表示IP地址及相关操作。其作者Brad Fitzpatrick专门写了篇blog说明这个库的设计原则和最终实现。 这个实现最主要的特性依赖intern.Value这个库。这里记录一下我对这个库的一些研究和看法 ...

2022-02-20 · Googol Lee

使用Go Swagger生成OpenAPI定义

OpenAPI(原名Swagger)是目前比较流行的定义HTTP API的协议。但是OpenAPI的定义文件是方便机器处理的格式,不易编写和阅读。这里介绍一种使用go-swagger,根据Go代码生成OpenAPI定义文件的方法。该方法只使用Go代码来定义API,不强求Server或者Client也使用Go。 目前go-swagger只能生成OpenAPI 2.0格式的定义。这个也是现在广泛使用的格式。go-swagger未来会支持OpenAPI 3.0。 本文假设已经熟悉Go语法,只对go-swagger的扩展部分进行详细解释。 ...

2021-12-04 · Googol Lee

组织Neovim配置的方法

最近NeoVim放出了0.5.1版本,默认支持Lsp以及Lua脚本运行时。Lsp是我现在非常常用的功能。Vim只依靠插件支持Lsp,很多特性用起来并不顺畅。所以我放弃了Vim,转而使用NeoVim作为主力编辑器。 ...

2021-11-09 · Googol Lee