首页 > 后端开发 > Golang > 如何避免 Go 类型切换分支中的类型断言?

如何避免 Go 类型切换分支中的类型断言?

Susan Sarandon
发布: 2024-12-11 02:33:09
原创
874 人浏览过

How Can I Avoid Type Assertions Within Go's Type Switch Branches?

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

Go 中的类型切换提供了一种处理不同类型数据的便捷方法。但是,在某些情况下,您可能希望避免在 case 分支中显式断言变量的类型。

解决方案:

绕过类型断言的需要,您可以将类型切换的结果直接分配给正在检查的变量。这将根据匹配自动将变量分配给正确的类型:

switch question := question.(type) {
case interfaces.ComputedQuestion:
    handleComputedQuestion(question, symbols)
case interfaces.InputQuestion:
    handleInputQuestion(question, symbols)
}
登录后复制

在此示例中,将根据 switch 语句中的匹配将问题变量分配给适当的类型。因此,您可以将问题直接传递给handleCompulatedQuestion 或handleInputQuestion 函数,而无需显式类型断言。

此技术可以简化代码并提高可读性。通过避免在类型切换的分支中进行类型断言,您可以使代码更加简洁和可维护。

以上是如何避免 Go 类型切换分支中的类型断言?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板