Sobes.tech
Junior — Middle

Kas teil on kogemusi üldtüüpide kasutamisel programmeerimises?

sobes.tech AI

Vastus AI-lt

Üldtüübid (generics) Go keeles võimaldavad kirjutada funktsioone ja struktuure, mis töötavad erinevate andmetüüpidega, säilitades samal ajal tüübiturvalisuse. Generics'i kasutuselevõtuga Go 1.18-s on võimalik deklareerida tüüpi parameetreid ja kasutada neid koodis.

Näide lihtsast üldfunktsioonist, mis vahetab kahe muutuja väärtused:

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 := "tere", "maailm"
    a, b = Swap(a, b)
    fmt.Println(a, b) // maailm tere
}

Sellest tulenevalt võimaldavad generics kirjutada üldisemat ja taaskasutatavat koodi.