Junior — Middle
Чӣ гуна метавон функсияро ҳамчун аргумент барои фаро гирифтани дар дохили функсияи дигар гузошт?
sobes.tech AI
Ҷавоб аз AI
Дар Го, функсияҳо арзишҳои синфи аввал мебошанд, бинобар ин онҳоро ҳамчун аргумент ба функсияҳои дигар гузоштан мумкин аст.
Масалан, гузоштани функсия ба функсияи дигар:
package main
import "fmt"
// Функсия, ки функсияи дигарро ҳамчун аргумент мегирад
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) // 7-ро мебарорад
}
Ин ҷо, applyOperation ду рақам ва функсия op-ро қабул мекунад, ки амалро дар бораи ин рақамҳо муайян мекунад. Дар main, мо функсияи анонимии ҷамъкунӣ-ро мегузорем.
Аз ин рӯ, барои гузоштани функсия дар Го, кифоя аст, ки навъи аргументро ҳамчун func(...) ... нишон диҳед ва функсияи лозимро дар вақти даъват гузоред.