Rumah > pembangunan bahagian belakang > Golang > Contoh kod dan analisis amalan terbaik bagi fungsi dan penutupan tanpa nama golang

Contoh kod dan analisis amalan terbaik bagi fungsi dan penutupan tanpa nama golang

王林
Lepaskan: 2024-05-05 08:18:02
asal
454 orang telah melayarinya

Fungsi tanpa nama: Fungsi tanpa nama ialah fungsi tanpa nama dan digunakan untuk mencipta fungsi satu kali atau panggil balik. Penutupan: Penutupan mengandungi fungsi tanpa nama dan rujukan pembolehubah luaran, yang boleh mengakses dan mengubah suai pembolehubah luaran.

Contoh kod dan analisis amalan terbaik bagi fungsi dan penutupan tanpa nama golang

Fungsi tanpa nama dan penutupan dalam bahasa Go

Apakah fungsi tanpa nama?

Fungsi tanpa nama ialah fungsi tanpa nama, biasanya digunakan untuk mencipta fungsi guna sekali atau panggil balik.

Mengisytiharkan sintaks fungsi tanpa nama:

func(参数列表)(返回值列表) { 函数体 }
Salin selepas log masuk

Contoh:

Menduakan senarai nombor:

numbers := []int{1, 2, 3, 4, 5}
result := map(func(n int) int { return n * n }, numbers)
Salin selepas log masuk

Apakah itu penutupan?

Penutupan ialah nilai fungsi yang mengandungi fungsi tanpa nama dan rujukan pembolehubah luaran. Ini bermakna penutupan boleh mengakses dan mengubah suai pembolehubah luaran.

Buat sintaks penutupan:

func(参数列表)(返回值列表) {
    // 内部定义的变量
    变量名 := 值
    return func(闭包参数列表)(闭包返回值列表) {
        // 可以访问和修改内部变量
    }
}
Salin selepas log masuk

Contoh:

Buat fungsi yang mengembalikan perkataan yang diulang beberapa kali tertentu setiap halaman:

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())
}
Salin selepas log masuk

: O

a1
a2
Salin selepas log masuk
🎜

Atas ialah kandungan terperinci Contoh kod dan analisis amalan terbaik bagi fungsi dan penutupan tanpa nama golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan