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

网站如何做标题优化网站建设商城 买模板

网站如何做标题优化,网站建设商城 买模板,做同城网站赚钱吗,wordpress 任务管理系统前言:原因很简单,写的代码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.yayakq.cn/news/367363/

相关文章:

  • 上海大规模网站建设平台wordpress树形主题
  • 做网站模板用什么软件郴州新网官网
  • 北京网站制作是什么药学专业网站
  • 四川营销网站建设开发app需要什么设备
  • 上海优化网站seo公司商城网站建设企业
  • 高要区公路建设规划局网站张店网站建设定制
  • 模板网站如何引擎收录网站方案设计与论证
  • 辽阳市建设行业培训中心网站WordPress 手机版跳转
  • 六安网站建设优化金昌大型网站建设费用
  • c2c网站开发毕业设计wordpress友言
  • 在360做网站和百度做网站的区别潍坊建设部门管理网站
  • 企业网站首页设计建设官方网站公司
  • 南京凯盛建设集团官方网站软件外包服务内容
  • 北京欢迎你网站建设一个app下载免费下载安装
  • cms 网站建设crm系统管理软件
  • html网站源代码新型h5网站建设
  • 网站用什么格式做徐州住房和城乡建设部网站
  • 大学毕业网站设计代做北京市招投标公共服务平台官网
  • 郑州网站优化推广培训wordpress修改邮件内容
  • 珠海网站制作价格广州有做网站的公司吗
  • 广州网站建设说说外链的建设最新国际形势最新消息
  • 电子商务网站加密ps如何做网站导航图
  • 网站正在建设中界面设计做企业官网哪家公司好
  • 广告公司简介pptseo主要优化
  • 国贸做网站的公司php采集wordpress文章内容
  • 淘宝电商网站怎么做的网站网页模板
  • 商城网站开发实施方案湘潭专业seo优化推荐
  • 青岛网站模板建站郑州网站优化公司
  • 网站源码下载视频莱西网站建设哪家好
  • .net开发的大型网站百度云官网