Sobes.tech
Junior — Middle

Կարո՞ղ է Go լեզվում փոխանցել ֆունկցիային որպես արգումենտ այլ ֆունկցիայի։

sobes.tech AI

Պատասխան AI-ից

Այո, Go լեզվում ֆունկցիաները առաջին կարգի արժեքներ են, այդ պատճառով դրանք կարող են փոխանցվել որպես արգումենտներ այլ ֆունկցիաներին, վերադարձվել ֆունկցիաներից և վերագրել փոփոխականներին:

Ֆունկցիա որպես արգումենտ փոխանցելու օրինակ:

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
}

Այսպիսով, Go-ն աջակցում է ֆունկցիոնալ ծրագրավորման ոճին՝ ֆունկցիաները որպես պարամետրեր փոխանցելու միջոցով։