Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Mentakrifkan dan Menggunakan Peta Fungsi dengan betul dalam Go?

Bagaimana untuk Mentakrifkan dan Menggunakan Peta Fungsi dengan betul dalam Go?

Barbara Streisand
Lepaskan: 2024-12-17 19:03:10
asal
883 orang telah melayarinya

How to Correctly Define and Use a Map of Functions in Go?

Go Map of Functions

Fungsi pemetaan kepada kunci rentetan boleh menjadi alat yang berguna untuk mengatur dan memilih kaedah dalam Go. Walau bagaimanapun, halangan biasa ialah memastikan sintaks dan penaipan yang betul. Mari kita terokai cara untuk mentakrif dan menggunakan peta fungsi dengan berkesan dalam Go.

Kod yang disediakan cuba membuat peta dengan kunci rentetan yang menghala ke fungsi. Walau bagaimanapun, sintaks yang digunakan dalam m := map[string] func {...} adalah tidak betul. Untuk mentakrifkan peta penunjuk fungsi, sintaks yang betul ialah m := map[string]interface{}{...}.

Tambahan pula, penggunaan petikan tunggal '' untuk kekunci peta adalah tidak sah. Petikan berganda "" hendaklah digunakan untuk kekunci rentetan.

Untuk menunjukkan contoh yang berfungsi, pertimbangkan kod berikut:

package main

import "fmt"

func f(p string) {
    fmt.Println("function f parameter:", p)
}

func g(p string, q int) {
    fmt.Println("function g parameters:", p, q)
}

func main() {
    m := map[string]interface{}{
        "f": f,
        "g": g,
    }
    for k, v := range m {
        switch k {
        case "f":
            v.(func(string))("astring")
        case "g":
            v.(func(string, int))("astring", 42)
        }
    }
}
Salin selepas log masuk

Di sini, peta m dibuat, di mana setiap kekunci ialah rentetan, dan nilai yang sepadan ialah penunjuk fungsi. Pernyataan suis menyemak kekunci dan menghantar nilai kepada jenis fungsi yang sesuai sebelum memanggil fungsi dengan parameter yang dikehendaki. Pendekatan ini membolehkan pemilihan dan pelaksanaan fungsi dinamik berdasarkan kekunci yang disediakan.

Atas ialah kandungan terperinci Bagaimana untuk Mentakrifkan dan Menggunakan Peta Fungsi dengan betul dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan