Sobes.tech
Junior — Middle

Имали ли сте опит с използването на обобщени типове в програмирането?

sobes.tech AI

Отговор от AI

Обобщените типове (generics) в Go позволяват писането на функции и структури, които работят с различни типове данни, като същевременно запазват типовата безопасност. С въвеждането на generics в Go 1.18, е възможно да се обявяват параметри на типове и да се използват в кода.

Пример за проста обобщена функция за размяна на стойностите на две променливи:

package main

import "fmt"

type any = interface{}

func Swap[T any](a, b T) (T, T) {
    return b, a
}

func main() {
    x, y := 1, 2
    x, y = Swap(x, y)
    fmt.Println(x, y) // 2 1

    a, b := "hello", "world"
    a, b = Swap(a, b)
    fmt.Println(a, b) // world hello
}

По този начин generics позволяват писането на по-универсален и преизползваем код.