Junior — Middle
Go tilida Tip-juftlik konseptini va uning foydalanilishini tushuntiring
sobes.tech AI
AIdan javob
Go tilida, sum tur (sum type) kontseptsiyasi interfeyslar orqali amalga oshiriladi va turli xil qiymatlarni qabul qiladigan o'zgaruvchilarni tavsiflash imkonini beradi, ular umumiy interfeys bilan birlashtirilgan.
Sum turi — bu qiymat bir nechta turlardan biriga tegishli bo'lishi mumkinligini ifoda etish usuli bo'lib, bu bir joyda turli xil ma'lumot variantlarini ishlash uchun foydalidir.
Foydalanish misoli:
package main
import "fmt"
// Turli turlarni birlashtiradigan interfeysni aniqlaymiz
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("Maydon:", s.Area())
}
func main() {
var s Shape
s = Circle{Radius: 5}
printArea(s)
s = Rectangle{Width: 3, Height: 4}
printArea(s)
}
Bu yerda, Shape interfeysi Circle va Rectangle uchun sum tur sifatida xizmat qiladi. Bu funktsiyaga turli turlarni qabul qilish imkonini beradi, ular umumiy xulq-atvor bilan bog'langan.