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 позволяват писането на по-универсален и преизползваем код.