DEV Community

Aydın Yakar
Aydın Yakar

Posted on • Edited on

2

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.

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more