Memilih Penerima
Termasuk bagian Logika & Alur dalam perjalanan GO di Coddy. Pelajaran 9 dari 68.
Sekarang setelah kamu memahami receiver nilai dan pointer, pertanyaan utamanya adalah: kapan kamu harus menggunakan masing-masing? Keputusan ini bergantung pada apa yang perlu dilakukan method-mu terhadap receiver.
Gunakan pointer receiver saat method-mu perlu mengubah struct asli. Karena pointer receiver bekerja dengan instance struct yang sebenarnya, setiap perubahan yang dibuat di dalam method akan tetap ada setelah method selesai. Ini penting untuk method yang memperbarui field, mengubah state, atau melakukan operasi yang seharusnya memengaruhi data asli.
Gunakan value receiver saat method-mu hanya perlu membaca data dari struct tanpa mengubahnya. Value receiver bekerja dengan salinan, jadi cocok untuk method yang menghitung nilai, memformat output, atau melakukan operasi apa pun yang tidak perlu mengubah struct asli. Value receiver juga memberikan keamanan dengan memastikan bahwa data asli tetap tidak berubah.
Sebagai aturan umum: jika method-mu mengubah struct, gunakan pointer receiver. Jika method-mu hanya membaca struct, gunakan value receiver. Pendekatan ini memperjelas maksud kodemu dan membantu mencegah perubahan yang tidak diinginkan pada datamu.
Coba sendiri
Pelajaran ini tidak memiliki tantangan kode.
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika & Alur
1Alur Kontrol Lanjutan
switch dengan `fallthrough`Keluar dari Perulangan BersarangMelanjutkan Perulangan TertentuPernyataan `goto`Rangkuman, Kontrol Perulangan Lanjutan4Proyek: Daftar Tugas Sederhana
Menyiapkan ProyekMenambahkan Tugas2Struct dan Method
Mendefinisikan Method pada StructPenerima NilaiPenerima PointerMemilih PenerimaMethod vs FungsiRekap: Perilaku Struct5Map secara Mendalam
Map Berisi StructPointer sebagai Nilai MapMenguji Map NilMembandingkan MapRingkasan: Penghitung Frekuensi Kata8Proyek: Inventaris Sederhana
Gambaran Umum ProyekMemeriksa Stok3Interface (Dasar)
Apa Itu Interface?Mendefinisikan InterfaceMengimplementasikan InterfaceMenggunakan Tipe InterfaceInterface KosongType AssertionType SwitchRingkasan: Bentuk dan PerilakuLatihan sendiri: Compiler Go online