Sobes.tech
Junior — Middle

Go dilinde Tip-toplam kavramını ve kullanımını açıklayın

sobes.tech yapay zeka

AI'dan gelen yanıt

Go dilinde, toplam tür (sum type) kavramı arayüzler (interfaces) aracılığıyla uygulanır ve farklı türlerden değerler alabilen değişkenleri tanımlamaya olanak tanır, bunlar ortak bir arayüzle birleştirilmiştir.

Toplam tür, bir değerin birkaç türden biri olabileceğini ifade etmenin bir yoludur ve bu, farklı veri seçeneklerini tek bir yerde işlemek için faydalıdır.

Kullanım örneği:

package main
import "fmt"

// Farklı türleri birleştiren bir arayüz tanımlıyoruz
type Shape interface {
    Area() float64
}

type Circle struct {
    Radius float64
}

func (c Circle) Area() float64 {
    return 3.14 * c.Radius * c.Radius
}

type Rectangle struct {
    Width, Height float64
}

func (r Rectangle) Area() float64 {
    return r.Width * r.Height
}

func printArea(s Shape) {
    fmt.Println("Alan:", s.Area())
}

func main() {
    var s Shape
    s = Circle{Radius: 5}
    printArea(s)
    s = Rectangle{Width: 3, Height: 4}
    printArea(s)
}

Burada, Shape arayüzü, Circle ve Rectangle için toplam tür olarak hareket eder. Bu, fonksiyonun farklı türleri ortak bir davranışla kabul etmesine olanak tanır.