【新人系列】Golang 入门(十五):类型断言

✍ 个人博客:https://blog.csdn.net/Newin2020?type=blog
📝 专栏地址:https://blog.csdn.net/newin2020/category_12898955.html
📣 专栏定位:为 0 基础刚入门 Golang 的小伙伴提供详细的讲解,也欢迎大佬们一起交流~
📚 专栏简介:在这个专栏,我将带着大家从 0 开始入门 Golang 的学习。在这个 Golang 的新人系列专栏下,将会总结 Golang 入门基础的一些知识点,并由浅入深的学习这些知识点,方便大家快速入门学习~
❤️ 如果有收获的话,欢迎点赞 👍 收藏 📁 关注,您的支持就是我创作的最大动力 💪

1. 快速了解

在 Go 语言(Golang)中,断言(Type Assertion)是一种用于在运行时检查接口值实际保存的具体类型,并获取对应类型值的机制。

例如,下面 add 函数中入参被定义成了空接口的类型,因此我们可以针对入参进行类型断言,通过 a.(int) 的方式来判断入参的类型是否为 int 类型。

func add(a, b interface{
   
   }) interface{
   
   } {
   
   
    ai, ok := a.(int)
    if !ok {
   
   
        panic("not int type")
    }
    bi, _ := b.(int)
    return ai + bi
}

func main() {
   
   
    a := 1
    b := 2
    fmt.Println(add(a,b))
}

当然,我们可以利用 switch 语法来适应不同类型的断言:

func add(a, b interface{
   
   }) interface{
   
   } {
   
   
    switch a.(type) {
   
   
    case int :
        ai, _ := a.(int)
        bi
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值