Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menangkap pembolehubah menggunakan penutupan fungsi golang

Cara menangkap pembolehubah menggunakan penutupan fungsi golang

PHPz
PHPzasal
2024-04-23 11:42:01558semak imbas

Bagaimana untuk menangkap pembolehubah menggunakan penutupan fungsi Go? Tentukan parameter fungsi yang mengandungi pembolehubah yang akan ditangkap. Dalam badan fungsi, gunakan pembolehubah yang ditangkap. Contoh: Penutupan Cache Penutupan Kaunter Penutupan digunakan dalam Pergi untuk menangkap pembolehubah dan mencipta kod yang fleksibel dan boleh digunakan semula.

Cara menangkap pembolehubah menggunakan penutupan fungsi golang

Cara menangkap pembolehubah menggunakan penutupan fungsi Go

Penutupan ialah fungsi yang mengandungi pembolehubah bebas yang ditakrifkan di luar definisi fungsi tetapi boleh diakses dalam fungsi. Dalam Go, penutupan boleh dibuat dengan mengikut langkah berikut:

  1. Tentukan fungsi yang hujahnya mengandungi pembolehubah untuk ditangkap.
  2. Dalam badan fungsi, gunakan pembolehubah yang ditangkap.

Contoh kod:

package main

import "fmt"

func main() {
    x := 10
    f := func() {
        // x 是一个自由变量,可以在 f 内访问
        fmt.Println(x)
    }

    // 运行闭包
    f()
}

Dalam contoh di atas, f 函数是一个闭包,它捕获了变量 x。当 f 被调用时,它打印 x 的值,即 10.

Contoh lain:

  • Penutupan pembilang: Buat pembilang gelung yang terus mengira walaupun selepas fungsi penutupan telah kembali.

    func counter(start int) func() int {
      x := start
      return func() int {
          x++
          return x
      }
    }
  • Penutupan Cache: Buat fungsi yang hasilnya dicache untuk meningkatkan prestasi.

    func cachingCalc(expensiveComputation func(int) int) func(int) int {
      cache := make(map[int]int)
      return func(x int) int {
          if v, ok := cache[x]; ok {
              return v
          }
          v = expensiveComputation(x)
          cache[x] = v
          return v
      }
    }

Penutupan ialah alat yang berkuasa dalam Go untuk menangkap pembolehubah dan mencipta kod yang fleksibel dan boleh digunakan semula.

Atas ialah kandungan terperinci Cara menangkap pembolehubah menggunakan penutupan fungsi golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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