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.