Menu
Coddy logo textTech

Receiver Seçimi

Coddy'nin GO Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 9 / 68.

Artık hem değer (value) hem de işaretçi (pointer) alıcılarını anladığınıza göre, temel soru şudur: her birini ne zaman kullanmalısınız? Karar, metodunuzun alıcı ile ne yapması gerektiğine bağlıdır.

Metodunuzun orijinal struct'ı değiştirmesi gerektiğinde bir pointer receiver kullanın. Pointer receiver'lar gerçek struct örneğiyle çalıştığından, metodun içinde yapılan tüm değişiklikler metot döndükten sonra da kalıcı olacaktır. Bu; alanları güncelleyen, durumu değiştiren veya orijinal veriyi etkilemesi gereken işlemler gerçekleştiren metotlar için gereklidir.

Metodunuzun struct verilerini değiştirmeden sadece okuması gerektiğinde bir value receiver (değer alıcısı) kullanın. Value receiver'lar bir kopya üzerinde çalışır; bu nedenle değer hesaplayan, çıktıyı formatlayan veya orijinal struct üzerinde değişiklik gerektirmeyen işlemler yapan metodlar için idealdirler. Ayrıca, orijinal verinin değişmeyeceğini garanti ederek güvenli bir yapı sunarlar.

Genel bir kural olarak: eğer metodunuz struct yapısını değiştiriyorsa, bir pointer receiver kullanın. Eğer metodunuz struct yapısından sadece okuma yapıyorsa, bir value receiver kullanın. Bu yaklaşım, kodunuzun niyetini netleştirir ve verilerinizde istenmeyen değişikliklerin önlenmesine yardımcı olur.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Kopya kağıdı

Metodunuzun orijinal struct'ı değiştirmesi gerektiğinde bir pointer receiver kullanın:

  • Metot içinde yapılan değişiklikler, metot döndükten sonra da kalıcı olur
  • Alanları güncelleyen veya durumu değiştiren metotlar için gereklidir

Metodunuzun struct'tan sadece veri okuması gerektiğinde bir value receiver kullanın:

  • Bir kopya ile çalışır, bu nedenle orijinal veriler değişmeden kalır
  • Değerleri hesaplayan veya çıktıyı formatlayan metotlar için mükemmeldir
  • İstenmeyen değişikliklerin olmayacağını garanti ederek güvenlik sağlar

Genel kural: Eğer metodunuz struct'ı değiştiriyorsa, bir pointer receiver kullanın. Eğer metodunuz struct'tan sadece okuma yapıyorsa, bir value receiver kullanın.

Kendin dene

Bu ders bir kod alıştırması içermiyor.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık ve Akış bölümündeki tüm dersler