golong-integerliteralsunsigneduint64

Are there uint64 literals in Go?


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
    ...
}

Solution

  • 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