>  기사  >  백엔드 개발  >  golang 함수 포인터의 원리와 응용

golang 함수 포인터의 원리와 응용

PHPz
PHPz원래의
2024-04-29 11:15:01928검색

Go의 함수 포인터를 사용하면 함수를 값으로 저장할 수 있습니다. 생성 방법에는 직접 할당과 func 키워드 사용이 포함됩니다. () 연산자를 통해 호출됩니다. 실제 적용 예: 배열의 홀수 요소의 합을 계산하고 함수 포인터를 통해 홀수 판단 함수를 전달합니다.

golang 함수 포인터의 원리와 응용

Go 언어의 함수 포인터의 원리와 응용

함수 포인터의 원리

Go 언어에서 함수는 변수를 사용하여 저장할 수 있는 값입니다. 함수 포인터는 함수를 가리키는 변수입니다. * 접두어로 표시되며 구문은 다음과 같습니다. * 前缀表示,语法如下:

type FuncType func(args) (returns)
var funcPtr *FuncType

创建函数指针

函数指针可以通过以下几种方式创建:

  1. 直接赋值:

    var add = func(a, b int) int {
        return a + b
    }
    var addPtr = &add
  2. 使用 func 关键字:

    var addPtr = func(a, b int) int {
        return a + b
    }

调用函数指针

要调用函数指针,需要使用 ()

result := (*addPtr)(1, 2)  // 等于 add(1, 2)

함수 포인터 생성

함수 포인터는 다음과 같은 방법으로 생성할 수 있습니다.

  1. 직접 할당:

    package main
    
    import "fmt"
    
    // 奇数函数
    func isOdd(x int) bool {
        return x%2 != 0
    }
    
    // 计算奇数和
    func sumOdds(arr []int, odd func(int) bool) int {
        sum := 0
        for _, v := range arr {
            if odd(v) {
                sum += v
            }
        }
        return sum
    }
    
    func main() {
        arr := []int{1, 2, 3, 4, 5, 6, 7}
        total := sumOdds(arr, isOdd)
        fmt.Println("奇数元素的和:", total)
    }

  2. 🎜func 사용 키워드: 🎜🎜
    奇数元素的和: 16
🎜함수 포인터 호출🎜🎜함수 포인터를 호출하려면 다음이 필요합니다. 아래와 같이 () 연산자를 사용하려면: 🎜rrreee🎜실용 사례: 🎜🎜🎜배열에 있는 홀수 요소의 합을 계산하세요🎜🎜rrreee🎜출력: 🎜rrreee

위 내용은 golang 함수 포인터의 원리와 응용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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