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
Lepaskan: 2024-12-08 09:36:12
asal
435 orang telah melayarinya

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
Salin selepas log masuk

Atau literal titik terapung:

const Kilo = 1e3
Salin selepas log masuk

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)
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan