Junior — Middle
Kādus metodes un rīkus jūs zināt vispārējās programmēšanas īstenošanai savos projektos?
sobes.tech AI
Atbilde no AI
Go valodā kopīgai programmēšanai tiek izmantoti ģeneriki, kas ieviesti kopš Go 1.18 versijas.
Galvenie rīki un metodes:
- Parametrizēti tipi (ģeneriki) — ļauj rakstīt funkcijas, struktūras un metodes, kas darbojas ar dažādiem datu tipiem, neatkārtojot kodu.
- Interfeisi ar ierobežojumiem (constraints) — nosaka prasības tipiem, kurus var izmantot ģenerikos.
Piemērs funkcijai ar ģenerikiem:
package main
import "fmt"
func SumIntsOrFloats[T int | float64](slice []T) T {
var sum T
for _, v := range slice {
sum += v
}
return sum
}
func main() {
ints := []int{1, 2, 3}
floats := []float64{1.1, 2.2, 3.3}
fmt.Println(SumIntsOrFloats(ints)) // 6
fmt.Println(SumIntsOrFloats(floats)) // 6.6
}
Pirms ģeneriku ieviešanas bieži tika izmantots interfeiss{} un tipu pārvēršana, taču tas ir mazāk droši un mazāk efektīvi.