Sobes.tech
Junior — Middle

Ի՞նչ մեթոդներ և գործիքներ եք ճանաչում ձեր նախագծերում ընդհանուր ծրագրավորման իրականացման համար։

sobes.tech AI

Պատասխան AI-ից

Go լեզվում ընդհանուր ծրագրավորման իրականացման համար օգտագործվում են գեներիկներ, որոնք հայտնվել են Go 1.18 տարբերակից սկսած:

Հիմնական գործիքներ և մեթոդներ՝

  • Պարամետրային տիպեր (գեներիկներ) — թույլ են տալիս գրել ֆունկցիաներ, կառուցվածքներ և մեթոդներ, որոնք աշխատում են տարբեր տվյալների տիպերով, առանց կոդի կրկնօրինակի:
  • Համակարգեր սահմանափակումներով (constraints) — սահմանում են պահանջներ այն տիպերի համար, որոնք կարող են օգտագործվել գեներիկներում:

Գեներիկներով ֆունկցիայի օրինակ՝

package main
import "fmt"

func SumIntsOrFloats[T int | float64](slice []T) T {
    var sum T
    for _, v := range slice {
        sum += v
    }
    return sum
}

func main() {
    ints := []int{1, 2, 3}
    floats := []float64{1.1, 2.2, 3.3}
    fmt.Println(SumIntsOrFloats(ints))   // 6
    fmt.Println(SumIntsOrFloats(floats)) // 6.6
}

Գեներիկների հայտնվելուց առաջ հաճախ օգտագործվում էր interface{} և տիպերի փոխարկում, բայց դա ավելի քիչ անվտանգ և ավելի քիչ արդյունավետ է։