I have the following piece of code:
func generateBoard() {
for i := 0; i < 64; i++ {
}
}
func getRank(i int) uint8 {
return i / 8
}
In the loop I want to call getRank(i). I want getRank return uint8 cause it's the least integer type and I don't need more. The problem is that I can't divide int by uint8. I don't want to cast i to uint8 cause it might be expensive(possibly even an allocation happens there). Also I don't want to declare i as uint8 before the loop like:
var i uint8
for i = 0; i < 64; i++ {
Cause I believe that on the low level initializing iterator in the loop is pretty optimized and declaring an iterator before would be also not the best solution.
What would be the best implementation of this?