Go语言类型断言提供对接口值的基础具体值的访问。
方式是:
t := i.(T)
iTTt
iT
为了测试接口值是否具有特定类型,类型断言可以返回两个值:基础值和报告断言是否成功的布尔值。方式:
t, ok := i.(T)
tT
map
下面是一个例子:
package main
import "fmt"
func main() {
var i interface{} = "hello"
s := i.(string)
fmt.Println(s)
s, ok := i.(string)
fmt.Println(s, ok)
f, ok := i.(float64)
fmt.Println(f, ok)
f = i.(float64) // panic
fmt.Println(f)
}