Saya menemukan komentar reddit ini yang mengatakan bahwa seseorang tidak boleh meneruskan pointer ke saluran atau struct dengan bidang pointer tetapi itu tidak memberikan penjelasan yang cukup

go
0
shinigaami25 11 April 2020, 16:36

1 menjawab

Jawaban Terbaik

Tidak apa-apa untuk mengirim petunjuk pada saluran jika Anda berhati-hati tentang hal itu dan memahami bahwa apa yang keluar di ujung lain masih merupakan penunjuk ke data yang sama dan bukan salinan.

Artinya, jika Anda menggunakan saluran untuk berkomunikasi antara dua goroutine, Anda harus berhati-hati mengakses pointer dari dua goroutine yang berbeda pada saat yang sama - karena itu bisa menjadi data race (jika salah satu goroutine memodifikasi data yang mendasari). Namun, jika ini diperhitungkan maka tidak ada masalah keamanan.

0
Eli Bendersky 11 April 2020, 13:47