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

相关推荐
名字还没想好☜9 小时前
Go 用 json.Decoder 流式解析大 JSON:边读边处理不爆内存
开发语言·后端·golang·go·json
皓月盈江13 小时前
Linux系统使用VSCode搭建GO开发环境
linux·vscode·ubuntu·golang·debian
小羊在睡觉1 天前
HLS视频
linux·后端·golang
金金计较.1 天前
Go语言-2
开发语言·算法·golang
平头哥AI2 天前
Day 22 _ 包装错误别丢链_%w、errors.Is 与 errors.As
android·服务器·学习·golang·go
golang学习记2 天前
Go 1.27新特性: json/v2使用有趣指南
开发语言·golang·json
王码码20352 天前
Go语言CGO:Go与C交互
后端·golang·go·接口
PC2005-cloud2 天前
DSH 白嫖指南:接入 Command Code Go、WorkBuddy 与 Trae 的免费额度
开发语言·后端·golang
名字还没想好☜2 天前
Docker 镜像瘦身进阶:用 distroless/scratch 把 Go 服务打到 10MB,以及没 shell 怎么调试
运维·docker·容器·golang·kubernetes