Cara Go Melaksanakan Aritmetik pada Pemalar
Pemalar dalam Go mewakili nilai tepat ketepatan arbitrari semasa penyusunan. Walau bagaimanapun, apabila menjana binari boleh laku akhir, pemalar mesti ditukar kepada jenis ketepatan terhingga.
Penyimpanan dan Perwakilan Pemalar
Pemalar yang tidak ditaip tidak menduduki memori pada masa jalan. Ia wujud semata-mata semasa penyusunan dan tidak terdapat dalam boleh laku. Pengkompil memperoleh jenis pemalar yang tidak ditaip daripada jenis lalainya. Sebagai contoh, dalam coretan kod const Huge = 1e1000, malar Huge adalah jenis float64.
Sekatan Pelaksanaan
Sementara bahasa menentukan ketepatan malar sebagai arbitrari, pelaksanaan boleh menggunakan had. Walau bagaimanapun, tahap ketepatan minimum tertentu dijamin:
Mengendalikan Ketepatan Arbitrari di Compile Masa
Pengkompil menggunakan perwakilan dalaman dengan ketepatan terhad untuk memproses pemalar dengan ketepatan sewenang-wenangnya. Walau bagaimanapun, spesifikasi menentukan bahawa semua ungkapan malar mesti dinilai dengan tepat dalam had ketepatan yang ditentukan.
Apabila Had Ketepatan Dicapai
Jika limpahan atau kehilangan ketepatan berlaku semasa penilaian ekspresi berterusan, pengkompil akan melaporkan ralat. Nilai yang melebihi had jenis terhingga tidak boleh diwakili dalam boleh laku.
Ringkasan
Pada masa jalan, jenis pratakrif Go menawarkan ketepatan terhad untuk pemalar. Pembangun boleh menggunakan pakej seperti matematik/besar dan go/constant untuk mengendalikan nilai dengan ketepatan sewenang-wenangnya. Semasa penyusunan, pemalar mempunyai ketepatan sewenang-wenangnya, tetapi penyusun boleh mengenakan had. Hanya hasil ungkapan malar perlu ditukar kepada ketepatan terhingga.
Atas ialah kandungan terperinci Bagaimanakah Go Mengendalikan Ketepatan Pemalar Semasa Penyusunan dan Masa Jalan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!