您所在的位置:首页 / 知识分享

Go 每日一练之类型断言

2020.08.05

1461

Go 类型断言广泛用于interfer{}类型转为其他类型(经常出现在map类型中),另外只有initerface类型才可以进行类型断言。

Go 类型断言广泛用于interfer{}类型转为其他类型,另外只有initerface类型才可以进行类型断言。

写法为value, ok := em.(T)   如果确保em 是同类型的时候可以直接使用value:=em.(T)

em代表要判断的变量 
T代表被判断的类型
value代表返回的值
ok代表是否为改类型


如果断言失败,那么ok的值将会是false,但是如果断言成功ok的值将会是true,同时value将会得到所期待的正确的值。

比如:

bizContent := make(map[string]interface{})

此map类型中,元素值可也是任意类型值。但是在使用元素值进行比较或者其他运算时,需要转为真实的类型进行操作。

比如:

returnCode, returnCodeok := ret["returnCode"].(string)


returnCode是明确知道是string类型的,所以断言为string。


另外,类型断言em必须为initerface类型才可以进行类型断言。

ps: 将整型转为数字字符串可以用 fmt.Sprintf("%d",num)



免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

相关新闻

让人头疼的python 编码问题!!!

2018.10.29

0

中文编码问题是用中文的程序员经常头大的问题,在python下也是如此,那么应该怎么理解和解决python的编码问题呢?

让人头疼的python 编码问题!!!

2018.10.29

0

中文编码问题是用中文的程序员经常头大的问题,在python下也是如此,那么应该怎么理解和解决python的编码问题呢?

让人头疼的python 编码问题!!!

2018.10.29

0

中文编码问题是用中文的程序员经常头大的问题,在python下也是如此,那么应该怎么理解和解决python的编码问题呢?