golang1.18升级到1.23遇到的坑

主要问题:部分之前使用的包未自动升级。需要手动去get一下。

遇到问题的包:

1.https://github.com/petermattis/goid

重点吐槽下这个,因为go本身是不提供获取协程id的办法,所以都是用的非官方写的包。然后这些包获取goid的原理是直接访问 goroutine 结构体(常称为 g)在内存中的特定偏移量来获取 ID。不同 Go 版本中,这个结构体的布局(如字段顺序、大小)很可能发生改变。所以有golang版本升级的时候一定要升级goId这个包!!!

2.go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin

这个包是就是为什么要升级golang的原因。之前用过这个包的低版本,所以mod里面有记录。然后手动升级了一下就行了。

相关推荐
l1t2 小时前
测试用go语言执行脚本把数据保存到SQLite数据库
数据库·golang·sqlite
Agent世界5 小时前
千问Go上线我的应用:一句话生成可部署 AI 软件的技术拆解
开发语言·人工智能·golang·ai智能体
念何架构之路6 小时前
Go reflect包值操作 Value 的读写、可设置性与 interface 布局
开发语言·后端·golang
紧跟先前的步伐8 小时前
Go AI Agent 实战 18|Tool Calling 的基本原理与完整执行流程
前端·数据库·人工智能·ai·golang·1024程序员节
紧跟先前的步伐8 小时前
Go AI Agent 实战 17|模型适配层设计:让模型可替换
开发语言·人工智能·后端·ai·golang
l1t8 小时前
DeepSeek辅助编写连接sqlite的CLI
数据库·golang·sqlite
计算机就业还在扩大9 小时前
第2期-cmp.Ordered+类型推断+刻意未支持的特性
后端·面试·golang
念何架构之路1 天前
Go reflect 包:结构体反射 —Field、Tag 与 VisibleFields
java·数据库·golang
喵了几个咪1 天前
GoWind Admin 拆解:一个 Sender 接口接 39 个通知渠道
微服务·golang·go·1024程序员节·admin·gowind