Junior — Middle
Objasnite koncept tip-sume u jeziku Go i njegovu upotrebu
sobes.tech АИ
Одговор од АИ
U jeziku Go, koncept sum tipa (sum type) implementira se putem interfejsa i omogućava opis promenljivih koje mogu da prihvate vrednosti iz različitih tipova, ujedinjenih zajedničkim interfejsom.
Sum tip je način da izrazimo da vrednost može biti jednog od nekoliko tipova, što je korisno za obradu različitih varijanti podataka na jednom mestu.
Primer upotrebe:
package main
import "fmt"
// Definišemo interfejs koji kombinuje različite tipove
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("Površina:", s.Area())
}
func main() {
var s Shape
s = Circle{Radius: 5}
printArea(s)
s = Rectangle{Width: 3, Height: 4}
printArea(s)
}
Ovde, interfejs Shape deluje kao sum tip za Circle i Rectangle. To omogućava funkciji da prihvati različite tipove povezane zajedničkim ponašanjem.