Go: Memahami Susunan Lelaran dalam Kekunci Peta
Dalam bahasa pengaturcaraan Go, peta dilaksanakan sebagai peta cincang. Susunan lelaran kunci peta tidak dinyatakan secara eksplisit dalam Spesifikasi Bahasa Pengaturcaraan Go, kerana ia boleh berbeza-beza bergantung pada pelaksanaan.
Fungsi Hash dan Kesetaraan
The Go runtime menggunakan pelaksanaan peta cincang bersatu yang ditulis dalam C. Satu-satunya variasi antara peta[rentetan]T dan peta[bait]T terletak pada cincang fungsi, fungsi kesetaraan dan fungsi salin.
Tertib lwn. Lelaran Rawak
Sebelum Pergi 1, tertib lelaran kunci peta adalah bergantung tertib sisipan hanya apabila perlanggaran utama berlaku. Jika tidak, pesanan itu adalah bebas daripada jenis kunci atau urutan sisipan.
Walau bagaimanapun, dalam keluaran mingguan Go dan Go 1 yang terkini, susunan lelaran telah diacakkan. Kekunci pseudo-rawak yang dipilih memulakan lelaran, dengan pengiraan kod cincang yang disemai oleh nombor rawak pseudo. Perubahan ini memastikan bahawa susunan adalah berbeza setiap kali program dijalankan, walaupun dengan data input yang sama.
Peta Rentetan: Kebetulan
Pemerhatian anda bahawa rentetan memetakan nampaknya mempunyai susunan lelaran yang boleh diramal adalah kebetulan. Walaupun pesanan mungkin kekal malar untuk larian tertentu, ia tidak dijamin dan boleh berbeza-beza merentasi pelaksanaan yang berbeza.
Atas ialah kandungan terperinci Mengapa Susunan Lelaran Kekunci Go Map Tidak Dijamin dan Selalunya Muncul Secara Rawak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!