Go Gin 实现获取本机 IP 与访问 IP
之前开发系统时,既要绑定本机指定IP启动服务,又要记录每个请求的访问来源 IP,踩了不少坑——比如本机多网卡时拿到无效的回环地址,部署到服务器后因反向代理拿到的是代理 IP 而非真实访问 IP。
之前开发系统时,既要绑定本机指定IP启动服务,又要记录每个请求的访问来源 IP,踩了不少坑——比如本机多网卡时拿到无效的回环地址,部署到服务器后因反向代理拿到的是代理 IP 而非真实访问 IP。
最近遇到个需求:生成的单号必须是 10 位数字,不足的话在前面补 0。
比如数字 123 要变成 “0000000123”,
当时试了几种方法,有的处理不了大数字,有的遇到负数就出错。
其实 Go 里前置补 0 的场景很常见,像编号生成、数据格式化都要用。
go 的切片删除逻辑有隐藏bug——遍历删除重复元素时存在漏删,排查后才发现是遍历顺序没处理好。
其实 Go 的切片因为是动态数组,删除元素不像其他语言的集合那样有现成方法,稍不注意就会踩坑。
项目多语言现在越来越是趋势了,那么 Go 如何实现多语言切换呢?
本文将记录分享使用第三方库go-i18n实现多语言切换功能,希望能够帮助开发者少走弯路。
最近遇到一个核心需求:用户上传的 Word(.doc/.docx)、Excel(.xls/.xlsx)、PPTX 文件,需要支持在线预览。
调研后发现,最稳妥的方案是先将这些文档转成 PDF(适合正式预览)或 HTML(适合轻量预览),
做 Go 后端开发的同学都知道,直接写 SQL 容易出现冗余代码,还得处理数据映射和 SQL 安全性问题。
Gorm 作为 Go 生态里最流行的 ORM 框架,能完美解决这些痛点。
我用 Gorm 开发过多个项目,从简单的单表操作到复杂的关联查询都踩过坑,