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

网页设计培训全名vue seo优化

网页设计培训全名,vue seo优化,tiktok国际版网页入口,前端程序员工资一般多少前言:原因很简单,写的代码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.sczhlp.com/news/66962/

相关文章:

  • 百度智能建站怎么样湖南网络工程职业学院高职扩招
  • 做百度推广需要有网站吗龙华做棋牌网站建设
  • 专业建站公司品牌门户网站改版
  • 网站集约化建设 要求北京到安阳多少公里路
  • 互联网风格网站wordpress恢复数据库菜单不见了
  • 揭阳网页制作公司关键词优化方法有什么步骤
  • 雷州网站开发公司电子商城系统开发模块
  • 海珠区建网站公司php mysql 企业网站源码
  • 广州建设工程中心网站县总工会网站建设情况介绍
  • 查看网站开发技术陕西建设厅八大员报名官网
  • 一个电脑建设多个网站广州自助建设网站平台
  • 网站如果不备案搜索引擎查询
  • 自己架设网站网站创建公司
  • 济南网站建设小程序开发游戏源码出售
  • 网站素材国企网站建设
  • 湛江有帮公司做网站网站快速建设入门教程
  • 网站开发工程师应聘书范文700字html网站开发目标
  • 武强网站建设关于做网站的外语文献书名
  • 怎么查看网站是asp还是phpwordpress 支持小工具
  • 聊天网站建设灵武市建设银行网站
  • html购物网站源代码外包网络推广公司推广网站
  • 做网站主要栏目内垂直行业门户网站建设方案
  • 手机网站开发软件哪个网站做的w7系统好
  • 如何做好一个企业网站北海 网站建设
  • 哪个网站可以做鸟瞰图做app必须有网站
  • 陕西省建设厅证网站号多少沈阳网站建设黑酷科技
  • 动态做网站横山桥网站
  • 树莓派 做网站建网站到底需要多少钱
  • 快速建站属于saas吗wordpress如何发邮件
  • 融资网站建设方案网站是如何建设的