定数変数の初期化
関数呼び出しを定数 KILO に割り当てようとすると、エラーが発生します。これは、定数宣言はコンパイル時に評価する必要があるため、関数呼び出しを含めることはできないためです。定数式には、リテラル値、定数識別子、および unsafe.Sizeof() などの特定の組み込み関数が含まれます。
Go 仕様によれば、「定数式には定数オペランドのみを含めることができ、コンパイル時に評価されます。」したがって、通常、定数宣言内で関数を呼び出すことはできません。
定数 KILO を初期化するには、関数呼び出しの代わりに整数または浮動小数点リテラルを使用します。
const Kilo = 1000 // Integer literal
または:
const Kilo = 1e3 // Floating-point literal
関数を使用して計算する必要がある場合は、定数の代わりに変数を作成することもできます。 value:
var Kilo = math.Pow10(3)
unsafe.Sizeof()、cap、len などの一部の組み込み関数は定数宣言で使用できることに注意してください。ただし、 math.Pow10() などのランタイム実行を伴う関数呼び出しは許可されません。
以上がGo で関数呼び出しを使用して定数を初期化できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。