const x = 1 << 100; fmt.Println(x)?Код не скомпилируется. Нетипизированная константа const x = 1 << 100 допустима - константы в Go имеют произвольную точность. Но при передаче в fmt.Println(x) компилятор пытается привести x к типу по умолчанию для аргумента (например int). Значение 2^100 не помещается в int64 - возникает ошибка overflow.
const x = 1 << 100 // OK
// fmt.Println(x) // ошибка: overflow
// Можно использовать в контексте, где помещается:
var bigInt = big.NewInt(0)
bigInt.SetString("1267650600228229401496703205376", 10) // 2^100