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
}

გენერიკების გამოჩენამდე ხშირად გამოიყენებოდა ინტერფეისი{} და ტიპების კონვერტაცია, მაგრამ ეს ნაკლებად უსაფრთხო და ნაკლებად ეფექტურია.