只使用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