当前位置: 首页 > news >正文

元谋县建设局网站百度识图网页入口

元谋县建设局网站,百度识图网页入口,网站安全体系建设方案,软件应用商店排行榜类型断言 作用 检查 i 是否为 nil检查 i 存储的值是否为某个类型 使用方式 第一种: t : i.(T)这个表达式可以断言一个接口对象(i)里不是 nil,并且接口对象(i)存储的值的类型是 T,如果断言成…

类型断言

作用

  1. 检查 i 是否为 nil
  2. 检查 i 存储的值是否为某个类型

使用方式

第一种:

t := i.(T)

这个表达式可以断言一个接口对象(i)里不是 nil,并且接口对象(i)存储的值的类型是 T,如果断言成功,就会返回值给 t,如果断言失败,就会触发 panic。(即nil或者接口对象类型不为T时均会触发panic)
eg;

func main() {var i interface{} = 10t1 := i.(int)fmt.Println(t1)fmt.Println("=====分隔线=====")t2 := i.(string)fmt.Println(t2)
}

在这里插入图片描述
可以发现在执行第二次断言的时候失败了,并且触发了 panic。

第二种

t, ok:= i.(T)
  和上面一样,这个表达式也是可以断言一个接口对象(i)里不是 nil,并且接口对象(i)存储的值的类型是 T,如果断言成功,就会返回其值给 t,并且此时 ok 的值 为 true,表示断言成功。
  如果接口值的类型,并不是我们所断言的 T,就会断言失败,但和第一种表达式不同的事,这个不会触发 panic,而是将 ok 的值设为 false ,表示断言失败,此时t 为 T 的零值。
eg:

func main() {var i interface{} = 10t1, ok := i.(int)fmt.Printf("%d-%t\n", t1, ok)fmt.Println("=====分隔线1=====")t2, ok := i.(string)fmt.Printf("%s-%t\n", t2, ok)fmt.Println("=====分隔线2=====")var k interface{} // nilt3, ok := k.(interface{})fmt.Println(t3, "-", ok)fmt.Println("=====分隔线3=====")k = 10t4, ok := k.(interface{})fmt.Printf("%d-%t\n", t4, ok)t5, ok := k.(int)fmt.Printf("%d-%t\n", t5, ok)
}

在这里插入图片描述

类型断言(Type Switch)

如果需要区分多种类型,可以使用 type switch 断言,这个将会比一个一个进行类型断言更简单、直接、高效。


func findType(i interface{}) {switch x := i.(type) {case int:fmt.Println(x, "is int")case string:fmt.Println(x, "is string")case nil:fmt.Println(x, "is nil")default:fmt.Println(x, "not type matched")}
}
func main() {findType(10)      // intfindType("hello") // stringvar k interface{} // nilfindType(k)findType(10.23) //float64
}

在这里插入图片描述
注:

  1. 类型断言,仅能对静态类型为空接口(interface{})的对象进行断言,否则会抛出错误。

  2. 类型断言完成后,实际上会返回静态类型为你断言的类型的对象,而要清楚原来的静态类型为空接口类型(interface{}),这是 Goang的隐式转换。

http://www.mnyf.cn/news/43759.html

相关文章:

  • jsp网站设计教学做一体化教程北京做网站公司哪家好
  • 试用期工作总结南宁百度快速优化
  • 原网站开发新功能装修公司网络推广方案
  • 做优化的网站电话百度知道官网登录入口
  • 怎么看网站是否备案中国行业数据分析网
  • 个性化网站建设报价简单网页设计模板html
  • 网站建设费怎么做会计分录腾讯广告投放平台官网
  • 内容网站设计范例做网站的公司有哪些
  • 响应式网站建设费用b2b免费发布网站大全
  • 关于建设公司网站的议题郑州手机网站建设
  • dell网站设计特色安卓系统优化app
  • 简单网页制作成品免费下载seo优化网络公司
  • 做网站一般工资如何湖南长沙今日疫情
  • 我做网站编辑写文章很慢怎么办培训机构招生方案模板
  • 上街做网站崇左seo
  • 上海好的高端网站建设服务公司发帖推广哪个平台好
  • 大连做网站需要多少钱网络营销产品推广方案
  • 建购物网站的详细步骤外国网站怎么进入
  • 企业免费网站建设知名品牌营销案例100例
  • 内部网站如何做泉州百度网络推广
  • 本地app制作公司seo推广软件排行榜
  • mvc5网站开发seo渠道是什么意思
  • 网站如何制作做吸引客户时空seo助手
  • 宁波高端模板建站海淀区seo搜索引擎优化企业
  • 网页创意与设计50例泰州seo外包
  • 沈阳高端网站制作公司app下载注册量推广平台
  • 网站建设预算申请外贸接单平台哪个最好
  • 品牌网站建设h合肥整合营销的特点有哪些
  • 汉中市住建局建设厅网站官网宁波优化seo软件公司
  • 做网站业务员seo网站推广助理