Go 遍历切片时如何同时修改元素
用最常规的 for range 遍历切片修改数据——明明代码里改了字段值,打印切片却还是原来的数据。
这是 Go 切片的“值传递”机制在搞鬼,这也是新手遍历切片修改时最容易踩的坑。
用最常规的 for range 遍历切片修改数据——明明代码里改了字段值,打印切片却还是原来的数据。
这是 Go 切片的“值传递”机制在搞鬼,这也是新手遍历切片修改时最容易踩的坑。
之前开发系统时,既要绑定本机指定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(适合轻量预览),