Junior — Middle
Kā var nodot funkciju kā argumentu, lai to izsauktu citas funkcijas iekšienē?
sobes.tech AI
Atbilde no AI
Go funkcijas ir pirmās klases vērtības, tāpēc tās var nodot kā argumentus citām funkcijām.
Piemērs, kā nodot funkciju citai funkcijai:
package main
import "fmt"
// Funkcija, kas pieņem citu funkciju kā argumentu
func applyOperation(a, b int, op func(int, int) int) int {
return op(a, b)
}
func main() {
sum := func(x, y int) int {
return x + y
}
result := applyOperation(3, 4, sum)
fmt.Println(result) // Izvadīs 7
}
Šeit applyOperation pieņem divus skaitļus un funkciju op, kas definē operāciju ar šiem skaitļiem. main funkcijā nododam anonīmu saskaitīšanas funkciju.
Tātad, lai nodotu funkciju Go, pietiek norādīt argumenta tipu kā func(...) ... un nodot nepieciešamo funkciju izsaukuma laikā.