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

深圳纯手工seo上海网站排名seo公司

深圳纯手工seo,上海网站排名seo公司,移动营销型网站建设,郑州电商公司排名前十有哪些前言:原因很简单,写的代码panic了。报错如下。为此专门看下golang的类型断言。 “[PANIC]interface conversion: interface {} is string, not float64”。 1、类型断言(assertion) 所谓“类型断言”即判断一个变量是不是某个类型的实例(简单来讲就是判…

前言:原因很简单,写的代码panic了。报错如下。为此专门看下golang的类型断言。

“[PANIC]interface conversion: interface {} is string, not float64”。

1、类型断言(assertion)

所谓“类型断言”即判断一个变量是不是某个类型的实例(简单来讲就是判断所属类型)。

举例例子,interface属于一般类型其具体类型是不明确的,当要将其转换成具体类型的时候就要使用类型断言。如果不使用的话一旦类型对不上就会出现类似前面所说的panic。

1.1、类型assertion和类型switch只用作用与interface{}
package mainimport ("fmt"
)func main() {var v string = "hello" // var v interface{} = "hello"s, ok := v.(string)fmt.Println("s=", s, ",ok=", ok)}

对于上述代码会得到如下错误。

1.2、断言失败则会panic

如下前者:v到string的类型assertion成功,返回s等于“hello”

如下后者:v到float64的类型assertion失败,导致panic。

package mainimport ("fmt"
)func main() {var v interface{} = "hello"s := v.(string)fmt.Println("s=", s)f := v.(float64)  //会painicfmt.Println("f=", f)}
1.3、使用ok的方式避免panic

当assertion失败的时候,ok返回false就不会引发panic行为。

package mainimport ("fmt"
)func main() {var v interface{} = "hello"s, _ := v.(string)fmt.Println("s=", s)f, ok := v.(float64)if ok {fmt.Println("f=", f)} else {fmt.Println("not a float64")}}

执行结果如下:

1.4、v.(type)配合switch进行类型判断

还有一种方式就是v.(type)配合switch进行类型判断。

package mainimport ("fmt"
)func main() {//var v interface{} = "hello"var v interface{} = 1234switch t:=v.(type) {case string:fmt.Println("v is type of string")case int:fmt.Println("v is type of int")case float64:fmt.Println("v is type of float64")}}

1.5、小结

v.(T)的写法可以在运行是判断v的值是不是T类型,是的话就直接使用其值,不是则panic;

类型assertion和类型switch非常类似于C++的多态类型之间的转换。

http://www.fp688.cn/news/162673.html

相关文章:

  • 用织梦做模板网站百度天眼查
  • 莘县网站定制24小时免费看的视频哔哩哔哩
  • wordpress Null桔子seo工具
  • 商业设计关键词优化步骤简短
  • 网站建设公司资讯免费手机网站建站系统
  • wordpress如何本地安装黄冈seo顾问
  • 做企业网站需要自己有公司吗网络销售怎么干
  • 邢台专业网站建设公司推荐今日热点新闻头条国内
  • 外贸类网站营销推广策略
  • 世界互联网峰会乌镇深圳关键词优化怎么样
  • 长春做网站的公司哪家好开展网络营销的企业
  • 关于网站建设的合同协议书一个产品的市场营销策划方案
  • 织梦网站在css中怎样做导航百度一下首页官网下载
  • 大连 找人做网站网站域名怎么查询
  • asp网站免费源码企业网站建设模板
  • 企业网站建设兴田德润实惠优化网站内容
  • 邗江建设局网站资料下载东莞做网络推广的公司
  • 网站文章页301重定向怎么做单页应用seo如何解决
  • wordpress无法映射seo网站关键词排名优化公司
  • 馆陶专业做网站推广之家
  • 天津专业的做网站与运营的公司微信怎么推广
  • 建筑招聘网站哪个好典型的网络营销案例
  • 做网站要注意些什么要求湘潭seo快速排名
  • 做淘客网站企业备案上海网站营销推广
  • 做企业信用贷的网站百度信息流是什么
  • 招工哪个平台最真实防城港网站seo
  • 食品网站建设方案疫情防控数据
  • 免费windows7云主机下载太原seo优化公司
  • 重庆江北区网站建设公司服务器域名怎么注册
  • 动态网站开发主要技术搜索引擎app