>  기사  >  백엔드 개발  >  Golang 함수 Lambda 매개변수 전달

Golang 함수 Lambda 매개변수 전달

PHPz
PHPz원래의
2024-04-23 08:51:01419검색

Go 언어에서 람다 식 매개 변수 전달은 화살표 구문(=>)을 사용하여 매개 변수 유형과 반환 유형을 지정하므로 람다 식을 다른 함수에 매개 변수로 전달할 수 있습니다. 이 접근 방식을 사용하면 코드가 단순화되고 명명된 함수를 만들 필요가 없습니다. 예: func Multiply(fn func(int) int, x int) int { return fn(x); }

Golang 함수 Lambda 매개변수 전달

Go 언어 함수 Lambda 매개변수 전달

Lambda 표현식은 함수 생성을 단순화하는 구문입니다. 이름이 지정된 함수를 만들지 않고도 함수를 정의할 수 있습니다. Go 언어에서 람다 표현식은 아래와 같이 func 키워드를 사용하여 정의됩니다. func 关键字定义,如下所示:

func(x int) int { return x * x }

参数传递

当将 Lambda 表达式作为参数传递给其他函数时,需要使用箭头语法(=>)来指定参数类型和返回类型。例如:

func multiply(fn func(int) int, x int) int {
    return fn(x)
}

在这个例子中,multiply 函数接受两个参数:一个 Lambda 表达式 fn 和一个整数 xmultiply 函数将 x 作为参数传递给 Lambda 表达式 fn,然后返回结果。

实战案例

下面是一个使用 Lambda 参数传递的实战案例:

package main

import "fmt"

func main() {
    // 创建一个 Lambda 表达式来计算平方
    square := func(x int) int { return x * x }

    // 使用 Lambda 表达式作为参数调用 multiply 函数
    result := multiply(square, 5)

    // 输出结果
    fmt.Println(result) // 输出: 25
}

在这个案例中,square Lambda 表达式计算整数的平方,而 multiply 函数使用 squarerrreee

🎜매개변수 전달🎜🎜🎜람다 표현식을 다른 함수에 매개변수로 전달할 때는 화살표 구문을 사용해야 합니다. (=>)를 사용하여 매개변수 유형과 반환 유형을 지정합니다. 예: 🎜rrreee🎜이 예에서 multiply 함수는 람다 표현식 fn과 정수 x라는 두 개의 매개변수를 허용합니다. multiply 함수는 x를 Lambda 표현식 fn에 대한 인수로 전달하고 결과를 반환합니다. 🎜🎜🎜실용 사례🎜🎜🎜다음은 Lambda 매개변수 전달을 사용한 실제 사례입니다. 🎜rrreee🎜이 경우 square Lambda 표현식은 정수의 제곱을 계산하고 곱하기 함수는 <code>square 람다 표현식을 사용하여 5의 제곱을 계산합니다. 🎜

위 내용은 Golang 함수 Lambda 매개변수 전달의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.