断言类型的两种情况。
语法形式: x.(T)
第1种,断言的类型T是一个具体的类型。类型断言检查x的动态类型是否和T相同。如果这个
package main
import (
"fmt"
"io"
"os"
)
func main() {
var w io.Writer
w = os.Stdout
f := w.(*os.File)
fmt.Printf("f=%v,f=%T\n", f, f)
fmt.Printf("w=%v,w=%T\n", w, w)
}
运行结果:
f=&{0x10aaa240},f=*os.File
w=&{0x10aaa240},w=*os.File
成功: 进程退出代码 0.