Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Mengisytiharkan Pemalar Go dengan Ungkapan Masa Bukan Kompilasi?

Bagaimanakah Saya Boleh Mengisytiharkan Pemalar Go dengan Ungkapan Masa Bukan Kompilasi?

Barbara Streisand
Barbara Streisandasal
2024-12-08 09:36:12472semak imbas

How Can I Declare Go Constants with Non-Compile-Time Expressions?

Mengisytiharkan Pembolehubah Konst dengan Ungkapan Masa Bukan Kompilasi

Dalam Go, pembolehubah const mesti mewakili nilai yang boleh dinilai pada masa penyusunan. Akibatnya, percubaan untuk memulakan pembolehubah const menggunakan panggilan fungsi akan menghadapi ralat. Ini kerana fungsi dilaksanakan pada masa jalan, bukan masa penyusunan.

Mesej ralat yang anda terima, "const initializer math.Pow10(3) is not a constant," menunjukkan bahawa function math.Pow10(3) digunakan untuk memulakan KILO tidak boleh dinilai pada masa penyusunan.

Penyelesaian: Gunakan Literal Nilai

Untuk mengisytiharkan pembolehubah const dengan ungkapan bukan masa kompilasi, anda mesti menggunakan nilai literal sebaliknya. Contohnya, anda boleh menggunakan literal integer:

const Kilo = 1000

Atau literal titik terapung:

const Kilo = 1e3

Menggunakan Pembolehubah

Jika anda benar-benar perlu menggunakan fungsi untuk mengira nilai untuk pemalar, anda tidak boleh menyimpannya dalam pembolehubah const. Sebaliknya, isytiharkannya sebagai pembolehubah biasa:

var Kilo = math.Pow10(3)

Ini membolehkan panggilan fungsi dilaksanakan pada masa jalan.

Sintaks Pengisytiharan Malar Ganti

Untuk pengenalan meluas kepada pemalar Go, lihat catatan blog "Pemalar". Selain itu, anda boleh meneroka sintaks padat untuk mengisytiharkan kuasa 10 sebagai pemalar.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengisytiharkan Pemalar Go dengan Ungkapan Masa Bukan Kompilasi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn