go1.18开始支持any泛型(之前老Goland中使用interface{}),编辑器开始报错。虽然报错,编译还是能通过。
看着有一点点强迫症,所以用下面写法代替:
// go1.18^写法
defer func() {
var r any = recover()
switch r.(type) {
case runtime.Error:
log.Println("运行时错误:", r)
default:
//
log.Println("xxx出现问题,已经跳过该问题。。。")
}
}()
// ^go1.17写法
defer func() {
if r := recover(); r != nil {
//
log.Println("xxx出现问题,已经跳过该问题。。。")
}
}()
当然了,更新Goland到2022.3就可以解决编辑器不识别新语法的问题。