使用 goproxy 搭建 Go 模块代理服务器
约 2 分钟阅读
自建 goproxy 服务并用 Caddy 反向代理,再设置 GOPROXY,让 go get 走自家代理加速下载。
自建 goproxy 服务并用 Caddy 反向代理,再设置 GOPROXY,让 go get 走自家代理加速下载。
借助 goupnp 库发现路由器服务,两次采样字节数即可算出实时上传和下载速度。
Go 标准库内置 text/template:用 define 定义片段、template 引用片段,就能渲染多个共用片段的模板。
借助 Linux 自带的 SSH 和裸仓库就能搭出极简 Git 服务器,再用 Go 实现 SSH 服务,轻松加入权限与 Hook 逻辑。
Go 重写文件后为何还留着旧内容?问题出在打开文件时漏掉了 os.O_TRUNC 标识。
Go 结构体字段的排列顺序会影响内存占用,用 fieldalignment -fix 一键重排就能省下空间。
用 reflect.TypeOf(instance).Name() 取得类型名,再通过 Tabler 接口覆盖特殊结构体的名字。
通过 reflect.TypeOf(v).Kind() 判断变量是否为切片,只需一行代码。
借助反射编写一个 Merge 函数,即可合并名称相同、类型不同的两个结构体字段。