Go:一种很“新”的类型断言

Go:一种很“新”的类型断言

分享组件:go-kratos-ecosystem/components

注:该功能计划在 v2.11.0 版本中发布。PR

引言

我们在早期使用 Go 做类型断言的时候,大多是这么用:

1
2
3
4
5
6
var v interface{}
v = 10

if _, ok := v.(int); ok {
fmt.Println("v is int")
}

那现在,我们只需要这么用:

1
2
3
if IsType[int](v) {
fmt.Println("v is int")
}
阅读更多