Sobes.tech
Junior — Middle

გო ენის ტიპების ჯამის კონცეფცია და მისი გამოყენება

sobes.tech AI

პასუხი AI-სგან

გა ენის კონცეფცია ჯამური ტიპის (sum type) ინტერფეისების საშუალებით ხორციელდება და საშუალებას იძლევა აღწეროთ ცვლადები, რომლებიც შეიძლება მიიღონ სხვადასხვა ტიპის მნიშვნელობები, რომლებიც ერთიან ინტერფეისს უკავშირდება.

ჯამური ტიპი — ეს არის გზა იმის გამოსახატად, რომ მნიშვნელობა შეიძლება იყოს ერთ-ერთი რამდენიმე ტიპიდან, რაც სასარგებლოა სხვადასხვა მონაცემთა ვარიანტების ერთ ადგილზე დამუშავებისთვის.

გამოყენების მაგალითი:

package main
import "fmt"

// განსაზღვრავთ ინტერფეისს, რომელიც აერთიანებს სხვადასხვა ტიპებს
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("ფართობი:", s.Area())
}

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

აქ, Shape ინტერფეისი მუშაობს როგორც ჯამური ტიპი for Circle და Rectangle. ეს საშუალებას აძლევს ფუნქციას მიიღოს სხვადასხვა ტიპები, რომლებიც დაკავშირებულია საერთო ქცევით.