How the big int represent in golang?
<p>this code is right,</p>

<pre><code>package main

import "fmt"

const (
    Big   = 1 &lt;&lt; 100
    Small = Big &gt;&gt; 99
)

func needInt(x int) int { return x*10 + 1 }
func needFloat(x float64) float64 {
    return x * 0.1
}

func main() {
    fmt.Println(needInt(Small))
    fmt.Println(needFloat(Small))
    fmt.Println(needFloat(Big))
}
</code></pre>

<p>But when i add </p>

<pre><code>fmt.Println(Big)
</code></pre>

<p>I meet an error:</p>

<pre><code>tmp/sandbox042871394/main.go:16: constant 1267650600228229401496703205376 overflows int
</code></pre>

<p>i am confused for </p>

<pre><code> const (
        Big   = 1 &lt;&lt; 100
        Small = Big &gt;&gt; 99
    )
</code></pre>

<p>why there is no error for this two lines code.</p>