KDOC 419: constが埋め込まれる様子を見る
この文書のステータス
- 作成
- 2025-07-17 貴島
- レビュー
- 2025-09-04 貴島
概要
Goでconstとvarの違いを見る。
LEAQ go:string."world"(SB), AX
MOVQ main.a(SB), AX
const は var に比べて制約が多いが、こうやってコンパイル時に埋め込まれるのが理由の1つに見える。
関連
抽象。
- 事前に値を埋め込むと実行時の参照が不要になる代わりに、制約が増える
関連。
- 追加調査: const の制約を調べる
- 類推: KDOC 151: Goコンパイラの定数式の埋め込みをみる。constでなくても埋め込まれることがある
- 具体例: KDOC 418: 実行時のオーバーヘッドなしで型のサイズを判定する。constの値がコンパイル時に埋め込まれ、実行時の参照が要らなくなる例
- 補足: KDOC 53: Goで独自定義のエラーをconstにする。const の制約の具体例