gpt4 book ai didi

Go switch vs if-else效率

转载 作者:IT王子 更新时间:2023-10-29 01:06:49 24 4
gpt4 key购买 nike

在 Go 中,switches 比在 C(和 C++)中灵活得多,因为它们可以处理 bool 表达式的情况并替换大的 else-if 梯子看起来完全,尤其是默认的 switch {...} block 。

switch {
case x < 5 && y > 2:
//...
case y == 1 || x > 2:
//...
default:
}

在 Go 中使用 switchelse-if 有效率优势吗?似乎 switch 的灵 active 会降低效率的提高。是不是只能靠编译器自己搞定,看看能不能做个跳转表?

ifelse 相比,使用 switch 是否有任何性能优势?

最佳答案

除非您所有的case 都是整数常量,否则您将失去将switch 转换为跳转表的可能性。

因此,如果您只使用整数常量,Go 的 switch 最多可能等同于 C++ 的 switch,但除此之外它不会比 if 更有效/其他

关于Go switch vs if-else效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16725921/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com