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

相关推荐
XMYX-010 小时前
37 - Go env 环境变量:配置管理与运行时控制
开发语言·golang
姚不倒16 小时前
Go 进阶实战:实现泛型数据验证器
云原生·golang
XMYX-018 小时前
36 - Go exec 执行命令
开发语言·golang
lolo大魔王18 小时前
Go 语言 HTTP 协议与 RESTful API 实训全解(理论 + 实战 + 规范)
http·golang·restful
一只小逸白18 小时前
LeetCode Go 常用函数速查表
linux·leetcode·golang
LCG元18 小时前
【Go后端开发】从 0 到生产级:高性能分布式网关全实现 + 接口限流熔断降级实战
分布式·golang·wpf
姚不倒1 天前
Go语言进阶:接口、错误处理与并发编程(goroutine/channel/context)
云原生·golang
宇明一不急2 天前
go 链表 (标准库实现)
开发语言·链表·golang
~|Bernard|2 天前
GO语言中哪些类型是可比较类型的(==和!=)
开发语言·后端·golang
比特森林探险记2 天前
底层数据结构分析 go 语言中的 slice map channel interface
数据结构·golang·哈希算法