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

Go 每日一练之类型断言

2020.08.05

1245

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)



相关新闻

关于公众平台开放改名公告

2016.08.23

6113

即日起,公众帐号可对帐号名称进行修改。登录公众号,进入公众号设置可找到名称修改指引

在线图片压缩 Squoosh! 工具做成应用在电脑上使用

2018.12.08

1703

在线图片压缩 Squoosh! 工具做成应用在电脑上使用