码迷,mamicode.com
首页 > 其他好文 > 详细

golang 基础知识3

时间:2018-01-10 15:47:53      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:没有   好用   inter   you   导致   print   str   art   nic   

断言: 参考 https://studygolang.com/articles/3314

var.(T)类型断言失败时会返回T类型的“0值”,而不是变量原始值。 var是要判断的变量,T类型,例如:sss.(string),T是type最好用的是interface或者一个strcut

其中var为interface{}类型 T是要断言的类型。

简单的string可以不使用这个

1)直接断言使用

var a interface{}

a = "xxxx"

fmt.Println("Where are you,Jonny?", a.(string))

但是如果断言失败一般会导致panic的发生。所以为了防止panic的发生,我们需要在断言前进行一定的判断

value, ok := a.(string)     //value在正常值true/false, 如果没错误 ok是没有值的,如果有panic则ok是有值的

if value, ok := a.(string) ,ok {

  fmt.Println(value, ok)   //xxxx,true

}

if value, ok := a.(string) ,ok {

  fmt.Println(value, ok)   

} else {

    fmt.Println(value, ok)   //<nil>, false  如果ok为false则ok为false

}

 

golang 基础知识3

标签:没有   好用   inter   you   导致   print   str   art   nic   

原文地址:https://www.cnblogs.com/jay--zhang/p/8258613.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!