为了账号安全,请及时绑定邮箱和手机立即绑定

避免在类型切换的分支中使用类型断言

避免在类型切换的分支中使用类型断言

Go
慕仙森 2021-12-27 10:47:50
我在 Go 中使用类型开关,例如以下一个:switch question.(type) {case interfaces.ComputedQuestion:    handleComputedQuestion(question.(interfaces.ComputedQuestion), symbols)case interfaces.InputQuestion:    handleInputQuestion(question.(interfaces.InputQuestion), symbols)}有没有办法防止我必须在案例中声明问题类型,然后才能将其传递给另一个函数?
查看完整描述

1 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

是的,分配类型开关的结果会给你断言的类型


switch question := question.(type) {

case interfaces.ComputedQuestion:

    handleComputedQuestion(question, symbols)

case interfaces.InputQuestion:

    handleInputQuestion(question, symbols)

}

http://play.golang.org/p/qy0TPhypvp


查看完整回答
反对 回复 2021-12-27
  • 1 回答
  • 0 关注
  • 166 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号