Dalam Latihan 51 Jelajah Go Go, kaedah Skala digambarkan sebagai tidak mempunyai kesan pada nilai Vertex. Walau bagaimanapun, percubaan mendedahkan bahawa Skala mengubah suai nilai input, walaupun apabila lulus nilai Vertex dan bukannya penuding.
Penaipan kuat Go memerlukan kaedah dengan penerima penuding mestilah meluluskan hujah penunjuk. Walau bagaimanapun, pengkompil campur tangan dalam keadaan tertentu dan melakukan penukaran tersirat, mengubah argumen nilai menjadi penunjuk.
Apabila kaedah memanggil x.m() dibuat , pengkompil menyemak perkara berikut:
Jika syarat ini dipenuhi dan x boleh dialamatkan (tidak disalin), pengkompil menulis semula kod sebagai (&x).m(). Penukaran ini membolehkan kaedah dengan penerima penuding berfungsi dengan kedua-dua penunjuk dan nilai.
Penukaran tersirat ini ialah ciri utama set kaedah Go. Ia membolehkan kaedah beroperasi pada penunjuk atau nilai tanpa memerlukan pengaturcara mengurus penunjuk secara eksplisit, memudahkan kod dan meningkatkan kebolehbacaan.
Atas ialah kandungan terperinci Mengapa Kaedah Go dengan Penerima Penunjuk Nampaknya Mengubah Suai Argumen Nilai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!