您的示例确实有用。这是一个简化的版本。
package mainimport "fmt"func weird(i int) interface{} { if i < 0 { return "negative" } return i}func main() { var i = 42 if w, ok := weird(7).(int); ok { i += w } if w, ok := weird(-100).(int); ok { i += w } fmt.Println("i =", i)}Output:i = 49它使用类型断言。



