golang类型转换与断言

使用方式:

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容