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里面有记录。然后手动升级了一下就行了。

相关推荐
lolo大魔王3 小时前
Go语言的并发、协调创建和通信机制
开发语言·golang
geovindu3 小时前
go:Template Method Pattern
开发语言·后端·设计模式·golang·模板方法模式
怪我冷i3 小时前
多租户管理系统,用户表,IsSuperAdmin,IsTenantAdmin,IsCompanyAdmin,IsDeptAdmin需要吗?
golang·llm·多租户·skill
开心码农1号5 小时前
Go 语言深度剖析:指针、unsafe.Pointer 与 uintptr 底层原理、区别与实战避坑
开发语言·后端·golang
初心未改HD6 小时前
Go语言Error处理与errors包深度解析
开发语言·golang
初心未改HD7 小时前
Go语言同步原语Mutex、WaitGroup、Once深度解析
开发语言·golang
止语Lab1 天前
Gin 很好,但你的项目可能需要更多
golang·gin
hopetomorrow1 天前
学习路之go --go入门
golang
KeyonY1 天前
车联网规则引擎设计之热更新与版本管理
redis·golang·车联网