数値定数
数値定数は高精度の 値 です。
型指定のない定数は、その文脈に必要な型を取ります。
needInt(Big)
を印刷してみてください。
(int
は最大で64ビット整数を格納できますが、場合によってはそれ以下になることもあります。)
package main
import "fmt"
const (
// Create a huge number by shifting a 1 bit left 100 places.
// In other words, the binary number that is 1 followed by 100 zeroes.
Big = 1 << 100
// Shift it right again 99 places, so we end up with 1<<1, or 2.
Small = Big >> 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))
}