Memahami Peranan Asterisk dalam Go
Bahasa pengaturcaraan Go menggunakan asterisk (*) untuk melaksanakan beberapa operasi kritikal. Ini termasuk menandakan penunjuk kepada pembolehubah, memudahkan tugasan tidak langsung dan mendayakan penyahrujukan penuding.
Penunjuk dan Tugasan Tidak Langsung
Dalam kod contoh yang disediakan:
s := "hello" var p *string = &s
Asterisk '', apabila digunakan sebelum jenis (rentetan), mengisytiharkan penunjuk kepada jenis itu. Dalam kes ini, 'p' menjadi alamat memori yang menghala ke rentetan 's'.
Tugasan 'p = &s' menggunakan operator '&' untuk mengambil alamat 's' dan menyimpannya dalam 'p'. Ini mewujudkan hubungan antara 'p' dan 's', di mana perubahan yang dibuat melalui satu akan mencerminkan yang lain.
Penyahrujukan Penunjuk
Asterisk '*', apabila digunakan sebelum pembolehubah atau ungkapan, memberikan akses kepada nilai yang ditunjukkannya. Contohnya:
*p = "ciao"
Dalam baris ini, asterisk sebelum 'p' menyahrujuk penuding dan memberikan nilai "ciao" kepada rentetan yang ditunjuk 'p'. Tugasan tidak langsung ini mengubah suai rentetan asal 's'.
Rujukan
Operator ampersand '&' juga boleh dilihat dalam kod yang disediakan, dengan tujuan yang berbeza.
&s
Apabila diawalan pada pembolehubah atau ungkapan, '&' mengembalikan rujukan kepadanya. Dalam contoh ini, '&s' menyediakan cara untuk mendapatkan alamat memori rentetan 's'.
Jadi, sementara asterisk '*' terlibat terutamanya dalam penciptaan penunjuk dan penyahrujukan, ampersand '&' memudahkan penjanaan rujukan.
Atas ialah kandungan terperinci Bagaimanakah Asterisk (*) berfungsi dengan Penunjuk dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!