Metotlar ve Fonksiyonlar
Coddy'nin GO Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 10 / 68.
Go'da hem metotlar hem de fonksiyonlar işlemler gerçekleştirse de, farklı amaçlara hizmet ederler ve belirgin tanımlama kalıplarına sahiptirler. Bu farkı anlamak, net ve düzenli kod yazmak için çok önemlidir.
Bir fonksiyon bağımsız ve müstakildir. Herhangi bir özel türe ait değildir:
func calculateArea(width, height float64) float64 {
return width * height
}Bir metot, bir alıcı (receiver) aracılığıyla belirli bir türe bağlanır. O türe aittir ve onun verilerine erişebilir:
func (r Rectangle) area() float64 {
return r.Width * r.Height
}Temel fark, onları nasıl çağırdığınızda yatar. Fonksiyonlar doğrudan adlarıyla çağrılırken, metotlar ilişkili türlerinin örnekleri üzerinde nokta notasyonu kullanılarak çağrılır. Bu ilişkilendirme, metotları özel türlerinize doğal olarak ait olan davranışları tanımlamak için mükemmel kılarken, fonksiyonlar belirli veri yapılarına bağlanması gerekmeyen genel amaçlı işlemler için iyi çalışır.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Kopya kağıdı
Bir fonksiyon bağımsızdır ve tek başına çalışır:
func calculateArea(width, height float64) float64 {
return width * height
}Bir metot, bir alıcı (receiver) aracılığıyla belirli bir türe bağlıdır:
func (r Rectangle) area() float64 {
return r.Width * r.Height
}Fonksiyonlar doğrudan isimleriyle çağrılır, metotlar ise örnekler (instances) üzerinde nokta notasyonu kullanılarak çağrılır.
Kendin dene
Bu ders bir kod alıştırması içermiyor.
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
1İleri Seviye Kontrol Akışı
`fallthrough` ile Switchİç İçe Döngülerden ÇıkmaBelirli Bir Döngüye Devam Etme`goto` İfadesiÖzet - İleri Seviye Döngü Kontrolü4Proje: Basit Görev Listesi
Proje KurulumuGörev Ekleme2Structlar ve Metotlar
Structlarda Metot TanımlamaValue Receiver'larPointer Receiver'larReceiver SeçimiMetotlar ve FonksiyonlarÖzet - Struct Davranışı5Derinlemesine Map'ler
Struct Map'leriMap Değeri Olarak Pointer'larNil Map KontrolüMap'leri KarşılaştırmaÖzet - Kelime Frekansı Sayacı3Arayüzler (Temeller)
Arayüz Nedir?Bir Arayüz TanımlamaBir Arayüzü UygulamaArayüz Tiplerini KullanmaBoş ArayüzTip OnaylamalarıTip SeçimiÖzet - Şekiller ve Davranışlar