Go の定数: 初期化による定数変数の宣言
Go では、定数はプログラムの実行中に変更できない定数値を提供します。定数を宣言するには、キーワード const を使用します。ただし、関数呼び出しによる定数の初期化は許可されていません。
次の例を考えてみましょう。
const KILO = math.Pow10(3)
これにより、エラーが発生します。「const 初期化子 math.Pow10(3) は定数ではありません」 ."
関数で定数を初期化できない理由Calls
定数はコンパイル時に評価されますが、関数呼び出しは実行時に発生します。したがって、関数呼び出しの結果は実行時までわからないため、関数呼び出しで定数を初期化することはできません。
組み込み関数の例外
一部の組み込み関数unsafe.Sizeof() などの -in 関数はコンパイル時に評価できるため、定数宣言で使用できます。ただし、ほとんどの関数呼び出しは定数宣言では使用できません。
定数を初期化するための代替手段
コンパイル時に評価できない値で定数を初期化するには、代わりに変数を使用します。 。例:
var KILO = math.Pow10(3)
この場合、変数 KILO は実行時に math.Pow10(3) 呼び出しの結果で初期化されます。
以上が関数呼び出しで Go 定数を初期化できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。