在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
golang x.(type) 用法
使用类型断言断定某个接口是否是指定的类型
if这种简化形式: if _,ok:=x.(T);ok{
}
type-switch 类型判断形式 类型断言使得相同接口的变量在不同的时刻表现出不同的行为,这就是多态的本质。 func MyPrintf(args ...interface{}) { for _, arg := range args { switch arg.(type) { case int: fmt.Println(arg, "is an int value.") case string: fmt.Println(arg, "is a string value.") case int64: fmt.Println(arg, "is an int64 value.") default: fmt.Println(arg, "is an unknown type.") } } }
在go-imap中看到使用 switch h := p.Header.(type) { case *mail.InlineHeader: // This is the message's text (can be plain-text or HTML) b, _ := ioutil.ReadAll(p.Body) log.Println("Got text: ", string(b)) case *mail.AttachmentHeader: // This is an attachment filename, _ := h.Filename() log.Println("Got attachment: ", filename) }
|
请发表评论