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

外贸网站定制开发表白网页制作免费网站制作

外贸网站定制开发,表白网页制作免费网站制作,网站公安备案怎么操作,创新的常州做网站前言:原因很简单,写的代码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.yidumall.com/news/106700.html

相关文章:

  • 聊城网站建设设计开发公司网站设计公司哪家专业
  • 美橙网站产品详情seo招聘
  • 亚马逊网站 如何做站内seo自动app优化官网
  • 服装网站建设企业需求调查抖音seo排名优化
  • 专业的餐饮加盟网站建设如何查看一个网站的访问量
  • 为什么要进行网站建设网站关键词优化代理
  • 博客网站的建设北京网站建设开发公司
  • 霸州住房和城乡建设厅网站友情链接购买平台
  • 浙江疫情最新消息今天新增了15例合肥网站建设优化
  • dw网站建设流程可以推广的软件有哪些
  • 检测网站是否被墙web3域名注册
  • php动态网站建设百度搜索排行榜风云榜
  • 网站和discuz同步登录网站如何seo推广
  • 英文网站制作 官网成品短视频app源码的优点
  • 景区网站的作用深圳网站制作哪家好
  • 京东云wordpress后台合肥百度关键词优化
  • 怎样建立自己手机网站百度代理
  • 闲置物品交易网站怎么做的品牌广告视频
  • 网络培训意义seo自学网官网
  • 成品网站是什么意思优化设计电子课本
  • 网站风格配置怎么做品牌营销推广
  • 用php做的网站seo关键词排名优化案例
  • wordpress国内图床大连百度关键词优化
  • 模板网站制作怎么样关键词首页排名代做
  • 中信建设有限责任公司是国企吗长春seo技术
  • 做网站放博彩广告在线数据分析工具
  • 来个网站奖励自己seo综合优化公司
  • 文化墙创意设计图片seo搜索优化招聘
  • seo网站关键词排名快速靖江seo要多少钱
  • 洛阳网站建设联系方式太仓网站制作