3 ms·
I don't know how many times I've been writing a program using int, then suddenly I have to do some math on the index of a range (for example), and the math.* fu
by LanceH 8y ago
I don't know how many times I've been writing a program using int, then suddenly I have to do some math on the index of a range (for example), and the math.* functions require int64. I start casting to int64, but things get infected and it spreads. Eventually I refactor everything to use int64 and wonder why int can't just be an alias for one of the others. Personally I would make it int64, since that is what the standard library thinks math should be done with.
- benhoyt 8y agoOdd, I've rarely had this issue, and almost never need to do complicated math on the index of a range (maybe "multiply by two and add one" kind of stuff, but nothing from the "math" pkg). Also, note that the math.* functions all use float64, not in64.
- LanceH 8y agoYes, you're right float64 in the math package. So I've definitely run into this with float vs float64. As for the int vs int64, I definitely run into what I describe on Project Euler. Probably using a self referential map[int]int when I need to suddenly pull an int64 and everything gets infected. I realize it's just a matter of convenience for me, but I personally have no downside to int == int64.