Rumah >pembangunan bahagian belakang >Golang >Berapa Banyak Memori yang Diperuntukkan oleh Peta Go yang Tidak Ditentukan?
Apabila mencipta peta Go tanpa menyatakan peruntukan memori awal, penggunaan memori sebenar kekal misteri. Artikel ini menerangkan cara untuk menentukan memori yang diperuntukkan oleh pelaksanaan.
Menyelidiki kod sumber jenis peta Go, kami mendapati bahawa peta mengandungi dua komponen: pengepala (hmap) dan tatasusunan baldi (bmap). Hebatnya, baldi tunggal diperuntukkan jika peruntukan awal tidak ditentukan semasa pembuatan peta.
Pengepala terdiri daripada tujuh medan:
Pada 64 -mesin bit, saiz int, uintptr, dan tidak selamat. Penunjuk ialah 8 bait setiap satu, memberikan sejumlah 40 bait untuk pengepala.
Timba ialah tatasusunan dengan lapan elemen jenis uint8, menghasilkan 8 bait tambahan .
Oleh itu, memori yang diperuntukkan untuk peta dengan satu baldi terdiri daripada:
Ini pengiraan boleh digunakan untuk seni bina 64-bit, dan saiz sebenar mungkin berbeza sedikit pada berbeza platform.
Atas ialah kandungan terperinci Berapa Banyak Memori yang Diperuntukkan oleh Peta Go yang Tidak Ditentukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!