「A Tour of Go」というチュートリアルサイトを進めていくうちに、下記のように<<という知らない記述方法が出てきたので調べました。
basic-types.go
MaxInt uint64 = 1<<64 - 1
fmt.Printf("Value: %v", MaxInt)
※「A Tour of Go」のBasic types(11/17) から抜粋
<<や>>の意味
<<や>>は**「ビット演算子」**と呼ばれるものです。
**「ビット演算子」**を使うことで、数値を2進数で表記したときに<<は左へ、>>は右へとずらすことができます。
1<<64 - 1の計算結果
1<<64は、2進数として1を左に64ずらすことになります。
そして、1を左に64ずらした値を2進数から10進数に変換して-1を計算した結果、MaxIntは18446744073709551615という値で出力されることになります。
Value: 18446744073709551615