Junior — Middle
Kādi vispārējās programmēšanas veidi ir pieejami Go valodā?
sobes.tech AI
Atbilde no AI
Go valodā vispārīgā programmēšana tiek īstenota ar ģenerikiem, kas ieviesti no versijas 1.18. Galvenie ģeneriku tipi Go ietver:
- Parametrizēti tipi (ģeneriski tipi): funkcijas un tipus var pieņemt tipu parametrus, kas ļauj rakstīt universālu kodu.
- Interfeisi ar ierobežojumiem (tipa ierobežojumi): nosaka prasības tipu parametriem, piemēram, lai tips atbalstītu noteiktas metodes vai piederētu konkrētai tipu kopai.
Piemērs ģeneriskai funkcijai, kas darbojas ar sēklu:
func IndexOf[T comparable](slice []T, val T) int {
for i, v := range slice {
if v == val {
return i
}
}
return -1
}
Šeit T ir tipu parametrs, kas ir ierobežots ar comparable interfeisu, kas ļauj izmantot operatoru ==. Šī funkcija ir universāla visiem salīdzināmajiem tipiem.
Tādējādi, Go atbalsta ģenerikus, izmantojot tipu parametrizāciju un ierobežojumus, kas palielina elastību un koda atkārtotu izmantošanu.