美文网首页
golang类型转换与断言

golang类型转换与断言

作者: 小易哥学呀学 | 来源:发表于2021-11-01 10:16 被阅读0次

    使用方式:

    int64(a) // 类型转换
    
    v, ok := a.(typeName) //类型断言
    

    总结:
    相似:都是右边有括号。
    区别:断言有.

    类型转换demo:

    package main
    import (
      "github.com/davecgh/go-spew/spew"
    )
    
    func main() {
      var age int
    
      age = 18
      
      // int转int64
      ageInt64 := int64(age) 
    
      spew.Dump(ageInt64)
    }
    
    // 输出
    (int64) 18
    

    断言demo:

    package main
    
    import (
    
    "github.com/davecgh/go-spew/spew"
    )
    
    type XiaoYi struct {
      age int
    }
    
    func main() {
      var xy interface{}
    
      xy = XiaoYi{
        age: 18,
      }
    
      originType, ok := xy.(XiaoYi)
    
      spew.Dump(originType)
      spew.Dump(ok)
    }
    
    // 输出
    (main.XiaoYi) {
     age: (int) 18
    }
    
    (bool) true
    

    相关文章

      网友评论

          本文标题:golang类型转换与断言

          本文链接:https://www.haomeiwen.com/subject/cwlzaltx.html