微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

[Go] golang x.(type) 用法

golang x.(type) 用法
x.(type)只能在switch中使用,和switch case配合使用,获取到类型

 

func MyPrintf(args ...interface{}) {  
    for _,arg := range args {  
        switch arg.(type) {  
            case int:  
                fmt.Println(arg,"is an int value.")  
            case string:case int64:default:Nown 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))
        mail.AttachmentHeader:
             This is an attachment
            filename,_ := h.Filename()
            log.Println("Got attachment: ",1)"> filename)
        }

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐