在Go中,switch
E比C(和C++)灵活得多,因为它们可以处理布尔表达式的情况,并似乎完全替换大型else
-if
阶梯,尤其是默认的switch {...}
块.
switch {
case x < 5 && y > 2:
//...
case y == 1 || x > 2:
//...
default:
}
围棋使用switch
比else
-if
有效率优势吗?看来,switch
的灵活性将会丧失提高的效率.是不是只有编译器才能弄清楚,看看它是否能制作跳转表呢?
与if
和else
相比,使用switch
是否有性能优势?