Rumah >pembangunan bahagian belakang >Golang >Mengapa Saya Tidak Boleh Memulakan Pemalar Go dengan Panggilan Fungsi?
Pemalar dalam Go: Mengisytiharkan Pembolehubah Malar dengan Permulaan
Dalam Go, pemalar memberikan nilai malar yang tidak boleh diubah semasa pelaksanaan program. Untuk mengisytiharkan pemalar, kata kunci const digunakan. Walau bagaimanapun, memulakan pemalar dengan panggilan fungsi adalah tidak dibenarkan.
Pertimbangkan contoh:
const KILO = math.Pow10(3)
Ini akan mengakibatkan ralat: "const initializer math.Pow10(3) is not a constant ."
Mengapa Pemalar Tidak Boleh Dimulakan dengan Fungsi Panggilan
Pemalar dinilai pada masa penyusunan, manakala panggilan fungsi berlaku pada masa jalan. Oleh itu, adalah tidak mungkin untuk memulakan pemalar dengan panggilan fungsi, kerana hasil panggilan fungsi tidak diketahui sehingga masa jalan.
Pengecualian untuk Fungsi Terbina dalam
Sesetengah terbina -dalam fungsi, seperti tidak selamat.Sizeof(), boleh digunakan dalam pengisytiharan berterusan kerana ia boleh dinilai pada masa penyusunan. Walau bagaimanapun, kebanyakan panggilan fungsi tidak boleh digunakan dalam pengisytiharan malar.
Alternatif untuk Memulakan Pemalar
Untuk memulakan pemalar dengan nilai yang tidak boleh dinilai pada masa penyusunan, gunakan pembolehubah sebaliknya . Contohnya:
var KILO = math.Pow10(3)
Dalam kes ini, pembolehubah KILO akan dimulakan dengan keputusan matematik.Pow10(3) panggilan pada masa jalan.
Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Memulakan Pemalar Go dengan Panggilan Fungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!