只使用1'if'语句而不使用'else'& no switch & if-else没有简写符号?这个Go代码可以重构吗?
// Original function
func Wheel(WheelPos uint32) {
if WheelPos < 85 {
fmt.Println("WheelPos < 85",Color(WheelPos*3, 255-WheelPos*3, 0))
} else if WheelPos < 170 {
WheelPos -= 85
fmt.Println("WheelPos >= 85",Color(0, WheelPos*3, 255-WheelPos*3))
} else {
WheelPos -= 170
fmt.Println("WheelPos > 170",Color(0, 255-WheelPos*3, WheelPos*3))
}
}
上述功能被称为主内的循环,像这样:
func main() {
var i uint32
for i = 0; i < 255; i++ {
Wheel(i)
}
}
颜色函数定义为这样:
func Color(r uint32, g uint32, b uint32) uint32 {
return (r << 16) | (g << 8) | b
}
我已经开始了与事像这样:
func Wheel(WheelPos uint32) {
if (WheelPos < 85) || (WheelPos >= 85) || (WheelPos > 170) {
// logic....
}
}
如果您正在寻找反馈代码,您可以尝试http://codereview.stackexchange.com/ – 2014-09-12 10:39:20
不,不,我没在寻找代码审查。不过谢谢。我想知道如果我想到的替代方式是否可行,如果是的话,我该怎么做? – 2014-09-12 10:41:28
谢谢你们。这个问题可以关闭。 – 2014-09-12 16:27:36