老师golang类型断言是什么?
在 Go 语言中,类型断言(Type Assertion)是一种用于检查接口值的实际类型的操作。类型断言允许我们在运行时将接口值转换为具体的类型,以便能够访问该类型的方法和属性。
类型断言的基本语法如下:
value, ok := expression.(Type)
其中,expression
是一个接口值,Type
是我们希望将其断言为的具体类型。断言操作返回两个值:value
和 ok
。value
是接口值的转换结果,如果断言成功则为具体类型的值,否则为该类型的零值。ok
是一个布尔值,用于指示断言是否成功。
下面是一个简单的示例:
var i interface{} = "Hello" // 类型断言 str, ok := i.(string) if ok { fmt.Println("字符串:", str) } else { fmt.Println("不是字符串") }