Bolehkah Objek "Disemat" dalam Memori Go?
Dalam C#, objek boleh "disemat" untuk mengekalkan lokasi tetap dalam ingatan. Adakah terdapat mekanisme yang serupa dalam Go?
Jawapan:
Dalam Go, alamat objek sememangnya kekal apabila dirujuk.
Tidak seperti bahasa seperti C, Go merujuk objek secara langsung tanpa menggunakan pemegang atau arahan. Apabila objek ditugaskan kepada pembolehubah, alamatnya kekal tidak berubah.
Seperti yang dinyatakan dalam dokumentasi Go:
"Perhatikan bahawa, tidak seperti dalam C, adalah OK untuk mengembalikan alamat a pembolehubah tempatan; storan yang dikaitkan dengan pembolehubah kekal selepas fungsi kembali."
Untuk mendapatkan alamat objek, gunakan operator &. Sebaik sahaja anda mempunyai alamat, anda boleh menetapkannya kepada pembolehubah atau menghantarnya sebagai hujah.
Mekanisme alamat berterusan ini memastikan objek yang dirujuk dalam kod Go anda kekal pada lokasi memori tetap, sama seperti "menyemat" dalam bahasa lain.
Atas ialah kandungan terperinci Bolehkah Go Objects menjadi \'Disemat\' ke Lokasi Memori Tertentu Seperti dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!