Junior — Middle
Go dilində Tip-cəm konseptini və onun istifadəsini izah edin
sobes.tech Süni İntellekt
AI-dan cavab
Go dilində, toplam növ (sum type) anlayışı interfeyslər vasitəsilə həyata keçirilir və müxtəlif tiplərdən dəyərlər ala bilən dəyişənləri təsvir etməyə imkan verir, bunlar ümumi interfeys ilə birləşdirilmişdir.
Toplam növ, dəyərin bir neçə tiplərdən biri ola biləcəyini ifadə etməyin bir yoludur və bu, müxtəlif məlumat variantlarını bir yerdə işləmək üçün faydalıdır.
İstifadə nümunəsi:
package main
import "fmt"
// Müxtəlif tipləri birləşdirən interfeys təyin edirik
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("Ərazi:", s.Area())
}
func main() {
var s Shape
s = Circle{Radius: 5}
printArea(s)
s = Rectangle{Width: 3, Height: 4}
printArea(s)
}
Burada, Shape interfeysi Circle və Rectangle üçün toplam növ kimi çıxış edir. Bu, funksiyanın müxtəlif tipləri qəbul etməsinə imkan verir, bunlar ümumi davranışla birləşdirilmişdir.