Type assertion: v := x.(*MyStruct) или v, ok := x.(*MyStruct). Type switch: switch v := x.(type) { case *MyStruct: ... case int: ... }. Для ошибок - errors.As для извлечения типа ошибки из цепочки.
v := x.(*MyStruct)
v, ok := x.(*MyStruct)
switch v := x.(type) { case *MyStruct: ... case int: ... }
errors.As