매개변수로 전달되는 Go 함수 메서드: Go 함수는 다른 함수의 매개변수로 전달될 수 있습니다. 코드는 재사용 가능한 모듈식 조각으로 구성될 수 있습니다. 실제 사례: 인쇄 함수를 매개변수로 사용하여 슬라이스 요소를 인쇄할 수 있습니다.
Go 언어에서 함수 메서드를 매개변수로 전달
Go의 함수는 일급 시민이므로 다른 함수의 매개변수로 전달될 수 있습니다. 이를 통해 코드를 모듈식 및 재사용 가능한 조각으로 구성할 수 있습니다.
Syntax
func f(a int, fn func(int)) { fn(a) }
이 예에서 f
함수는 두 개의 매개변수, 즉 int
와 func(int)</ code 유형의 함수를 받습니다. > 기능. <code>f
函数接收两个参数:一个int
和一个函数类型为 func(int)
的函数。
实战案例:打印切片元素
让我们编写一个函数来打印切片元素,该函数将打印函数作为参数接收。
package main import "fmt" // PrintSlice 使用给定的打印函数打印切片元素 func PrintSlice(s []int, fn func(int)) { for _, v := range s { fn(v) } } func main() { numbers := []int{1, 2, 3, 4, 5} // 使用 lambda 表达式打印元素 PrintSlice(numbers, func(n int) { fmt.Println(n) }) // 使用命名函数打印元素 PrintSlice(numbers, func(x int) { fmt.Printf("%d ", x) }) }
输出:
1 2 3 4 5 1 2 3 4 5
在本例中,PrintSlice
PrintSlice
함수는 슬라이스와 인쇄 기능을 허용합니다. 그런 다음 슬라이스를 반복하고 각 요소를 인쇄 함수에 전달합니다. 🎜위 내용은 매개변수로 전달된 golang 함수 메소드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!