DEV Community

Aydın Yakar
Aydın Yakar

Posted on • Edited on

Golang 101: Metotlar (Methods)

Yapıların girdi olarak verildiği fonksiyonlar method olarak tanımlanır. Böylelikle yapıya özel işlemleri nesne yönelimli programlama da olduğu gibi kullanım kolaylığı sağlar.

package main

import (
    "fmt"
)

// Yapı
type dikdortgen struct {
    genislik  int
    yukseklik int
}

// Metotlar
func (d *dikdortgen) alan() int {
    return d.genislik * d.yukseklik
}
func (d dikdortgen) cevre() int {
    return d.genislik + d.yukseklik
}

func main() {
    // Yapıyı tanımlama
    d := dikdortgen{genislik: 10, yukseklik: 8}

    // Metodların kullanımı
    fmt.Println("Alan:", d.alan())
    fmt.Println("Çevre:", d.cevre())
}
Enter fullscreen mode Exit fullscreen mode
Alan: 80
Çevre: 18
Enter fullscreen mode Exit fullscreen mode

çalıştır

Yapı tanımlama

type dikdortgen struct {
    genislik  int
    yukseklik int
}
Enter fullscreen mode Exit fullscreen mode

Dikdörtgen için öncelikle bir yapı struct tanımlaması oluşturuyoruz.

Metot ile Alan/Çevre Hesaplama

func (d *dikdortgen) alan() int {
    return d.genislik * d.yukseklik
}

func (d dikdortgen) cevre() int {
    return d.genislik + d.yukseklik
}
Enter fullscreen mode Exit fullscreen mode

alan() ve cevre() metotları dikdortgen yapısında alıcıya sahiptir. Bu da yapıya özel fonksiyon tanımlama yöntemidir ve sadece bu yapıya sahip tanımlamalar ile kullanılabilir. Pointer ile tanımlanabilir ve bu yapının kopyası yerine üzerinde çalışmanıza izin verir.

Kullanımı

    // Metodların kullanımı
    fmt.Println("Alan:", d.alan())
    fmt.Println("Çevre:", d.cevre())
Enter fullscreen mode Exit fullscreen mode

Metotlar yapı.fonksiyon() şeklinde kullanılmaktadır.

Top comments (0)