Dalam bahasa pengaturcaraan Go, pemalar ialah nilai yang nilainya diketahui pada masa penyusunan. Walaupun seseorang mungkin menjangkakan bahawa pemalar disimpan dengan tepat pada masa jalan, Go sebenarnya mengendalikan pemalar secara berbeza di bawah hud.
Pemalar yang tidak ditaip dengan ketepatan sewenang-wenangnya tidak disimpan dalam memori semasa masa jalan. Sebaliknya, mereka hanya hadir semasa penyusunan. Pada masa penyusunan, Go menukar pemalar kepada jenis lalai berdasarkan jenisnya dan sifat yang berkaitan. Contohnya, pemalar titik terapung secara dalaman diwakili sebagai nilai float64, tanpa mengira nilai awalnya yang besar.
Spesifikasi Go menentukan bahawa pengkompil mesti mewakili pemalar integer dengan sekurang-kurangnya 256 bit ketepatan dan pemalar titik terapung dengan mantissa sekurang-kurangnya 256 bit dan eksponen sekurang-kurangnya 32 bit.
Go melaksanakan operasi aritmetik pada pemalar pada masa penyusunan, walaupun untuk nilai yang besar. Sebagai contoh, kod const Huge = 1e1000; fmt.Println(Besar / 1e999); akan mencetak 10 dengan betul. Ini kerana Go menilai ungkapan Huge / 1e999 pada masa penyusunan, menukar pemalar kepada float64 dan melakukan pengiraan. Hasilnya, 10.0, kemudian dicetak.
Dalam sesetengah senario, ketepatan arbitrari adalah penting. Untuk ini, Go menyediakan mekanisme tambahan.
Dalam Go, pemalar tidak disimpan dalam ingatan dengan ketepatan sewenang-wenangnya pada masa jalan. Sebaliknya, aritmetik pada pemalar dilakukan pada masa penyusunan menggunakan jenis ketepatan terhingga. Untuk mengendalikan nilai ketepatan arbitrari secara dinamik, Go menawarkan perpustakaan seperti matematik/besar dan pergi/malar.
Atas ialah kandungan terperinci Bagaimana Go Mengendalikan Aritmetik Malar dan Ketepatan Arbitrari?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!