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

相关推荐
资深web全栈开发25 分钟前
Gin 框架最佳实践:构建可维护的 Go Web 应用
golang·gin
Bony-26 分钟前
Go语言并发编程完全指南-进阶版
开发语言·后端·golang
abcefg_h27 分钟前
链表算法---基本算法操作(go语言版)
算法·链表·golang
lqj_本人3 小时前
Rust与Go:现代系统编程语言的深度对比
开发语言·golang·rust
啟明起鸣4 小时前
【Go 与云原生】让一个 Go 项目脱离原生的操作系统——我们开始使用 Docker 制造云容器进行时
docker·云原生·golang
资深web全栈开发7 小时前
[特殊字符]图解 Golang 反射机制:从底层原理看动态类型的秘密
开发语言·后端·golang
Tony Bai14 小时前
【Go模块构建与依赖管理】09 企业级实践:私有仓库与私有 Proxy
开发语言·后端·golang
Lucky小小吴14 小时前
开源项目5——Go版本快速管理工具
开发语言·golang·开源
进化中的码农14 小时前
Go中的泛型编程和reflect(反射)
开发语言·笔记·golang
apocelipes17 小时前
POSIX兼容系统上read和write系统调用的行为总结
linux·c语言·c++·python·golang·linux编程