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!