Heim > Artikel > Backend-Entwicklung > Codebeispiele und Best-Practice-Analyse anonymer Golang-Funktionen und -Abschlüsse
Anonyme Funktionen: Anonyme Funktionen sind Funktionen ohne Namen und werden zum Erstellen einmaliger Funktionen oder Rückrufe verwendet. Abschluss: Ein Abschluss enthält anonyme Funktionen und externe Variablenreferenzen, die auf externe Variablen zugreifen und diese ändern können.
Anonyme Funktionen und Abschlüsse in der Go-Sprache
Was sind anonyme Funktionen?
Anonyme Funktionen sind Funktionen ohne Namen, die normalerweise zum Erstellen von Funktionen oder Rückrufen für die einmalige Verwendung verwendet werden.
Syntax einer anonymen Funktion deklarieren:
func(参数列表)(返回值列表) { 函数体 }
Beispiel:
Eine Liste von Zahlen quadrieren:
numbers := []int{1, 2, 3, 4, 5} result := map(func(n int) int { return n * n }, numbers)
Was ist ein Abschluss?
Ein Abschluss ist ein Funktionswert, der eine anonyme Funktion und eine externe Variablenreferenz enthält. Dies bedeutet, dass der Abschluss auf externe Variablen zugreifen und diese ändern kann.
Verschlusssyntax erstellen:
func(参数列表)(返回值列表) { // 内部定义的变量 变量名 := 值 return func(闭包参数列表)(闭包返回值列表) { // 可以访问和修改内部变量 } }
Beispiel:
Erstellen Sie eine Funktion, die ein Wort zurückgibt, das eine bestimmte Anzahl von Malen pro Seite wiederholt wird:
package main import "fmt" func makeRepeated(s string, n int) func() string { i := 0 return func() string { i++ return fmt.Sprintf("%s%d", s, i) } } func main() { repeat := makeRepeated("a", 5) fmt.Println(repeat()) fmt.Println(repeat()) }
Ausgabe:
a1 a2
Das obige ist der detaillierte Inhalt vonCodebeispiele und Best-Practice-Analyse anonymer Golang-Funktionen und -Abschlüsse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!