Are there uint64 literals in Go?

user3835277 picture user3835277 · Dec 19, 2015 · Viewed 7.6k times · Source

I'm looking at the numeric types in Go. I want to use uint64 literals. Is this possible in Go?

Here's an example of how I'd like to use uint64 literals:

for i := 2; i <= k; i += 1 { // I want i to be a uint64
    ...
}

Answer

Adam Smith picture Adam Smith · Dec 19, 2015

you can just cast your integer literal to uint64.

for i := uint64(1); i <= k; i++ {
    // do something
}

Alternatively you could initialize i outside of the for loop, but then it's scoped larger than the loop itself.

var i uint64
for i = 1; i <= k; i++ {
    // note the `=` instead of the `:=`
}
// i still exists and is now k+1