Junior — Middle
Имате ли искуства у коришћењу генераичких типова у програмирању?
sobes.tech АИ
Одговор од АИ
Обобщённые типы (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 позволяют писать более универсальный и переиспользуемый код.