Pelbagai jenis fungsi dalam pemetaan, Golang
Map ialah struktur data yang berkuasa di Golang yang membolehkan kami mengaitkan satu nilai dengan nilai lain. Di Golang, kita boleh menggunakan pemetaan untuk melaksanakan pelbagai jenis fungsi. Editor PHP Youzi akan memperkenalkan pelbagai jenis fungsi dalam pemetaan dalam artikel ini, termasuk fungsi biasa, fungsi tanpa nama dan kaedah. Bukan itu sahaja, kami akan meneroka cara menggunakan fungsi sebagai nilai dalam pemetaan dan menunjukkan kuasa dan fleksibilitinya. Sama ada anda seorang pemula atau pembangun Golang yang berpengalaman, artikel ini akan memberikan anda pengetahuan dan contoh yang berguna untuk membantu anda memahami dan menggunakan jenis fungsi dengan lebih baik dalam pemetaan. Mari mulakan meneroka!
Kandungan soalan
Saya mahu menyambungkan input pengguna ke fungsi. Input pengguna ialah rentetan. Sebagai contoh,
"func_name=MyPrintf&s1=你好,世界!"
atau
"func_name=MyAdd&i1=1&i2=2"
Kod setiap fungsi ialah,
func MyPrintf(s1 string) { fmt.Println(s1) } func MyAdd(i1, i2 int) { fmt.Println(i1, i2) }
Saya ingin peta seperti di bawah,
type Myfunc func(string) | func(int, int) // <- Of course, it's wrong code, just I hope like this. myMap := make(map[string]Myfunc) myMap["MyPrintf"] = MyPrintf myMap["MyAdd"] = MyAdd
myMap boleh memanggil fungsi melalui rentetan func_name yang dimasukkan oleh pengguna.
myMap[func_name](s1)
Output: Hello, dunia!
myMap[func_name](i1, i2)
Keluaran: 3
Adakah ini mungkin? Mungkin saya fikir menggunakan "eval" adalah mungkin, tetapi saya mendengar bahawa menggunakan "eval" adalah buruk. Jadi, saya terfikir untuk menggunakan penunjuk fungsi, tetapi tiada penunjuk fungsi di Golang.
Saya mencuba beberapa pengaturcaraan umum Golang,
type Myfunc interface { func(string) | func(int, int) } myMap := make(map[string]Myfunc)
Output: Ralat berlaku: tidak boleh menggunakan jenis Myfunc di luar kekangan jenis: antara muka mengandungi kekangan jenis
Cuba lagi,
myMap := make(map[string]interface{}) myMap["MyPrintf"] = interface{}(MyPrintf) myMap["MyPrintf"].(func(string))("Hello, world!")
Output: Hello, dunia!
myMap["MyAdd"] = interface{}(MyAdd) myMap["MyAdd"].(func(int,int))(1, 2)
Keluaran: 3
Ia berfungsi, tetapi anda perlu menentukan jenis fungsi yang betul, yang tidak begitu selesa. Saya rasa cara ini tidak sesuai untuk senario saya. Tolong beri saya bantuan. Saya minta maaf atas penulisan bahasa Inggeris saya yang teruk.
Penyelesaian
Anda boleh mencuba ini:
Saya mesti mengatakan ini bukan amalan yang baik kerana ralat panik disebabkan oleh jenis yang salah tidak disahkan. Saya akan mempertimbangkan pendekatan lain.
package main import "fmt" type GeneralFunc func(args ...interface{}) func main() { // Create a map of functions with the type GeneralFunc functionsMap := map[string]GeneralFunc{ "MyPrintf": func(args ...interface{}) { fmt.Println(args[0].(string)) }, "MyAdd": func(args ...interface{}) { fmt.Println(args[0].(int), args[1].(int)) }, } // Use the functions from the map functionsMap["MyPrintf"]("Hello World") functionsMap["MyAdd"](2, 3) }
Atas ialah kandungan terperinci Pelbagai jenis fungsi dalam pemetaan, Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Gunakan Golang untuk membangunkan aplikasi desktop yang berkuasa Dengan pembangunan Internet yang berterusan, orang ramai menjadi tidak dapat dipisahkan daripada pelbagai jenis aplikasi desktop. Bagi pembangun, adalah penting untuk menggunakan bahasa pengaturcaraan yang cekap untuk membangunkan aplikasi desktop yang berkuasa. Artikel ini akan memperkenalkan cara menggunakan Golang (bahasa Go) untuk membangunkan aplikasi desktop yang berkuasa dan menyediakan beberapa contoh kod khusus. Golang ialah bahasa pengaturcaraan sumber terbuka yang dibangunkan oleh Google Ia mempunyai ciri-ciri kesederhanaan, kecekapan, konkurensi yang kuat, dsb., dan sangat sesuai untuk

Cabaran keselamatan dalam pembangunan Golang: Bagaimana untuk mengelak daripada dieksploitasi untuk penciptaan virus? Dengan aplikasi Golang yang luas dalam bidang pengaturcaraan, semakin ramai pembangun memilih untuk menggunakan Golang untuk membangunkan pelbagai jenis aplikasi. Walau bagaimanapun, seperti bahasa pengaturcaraan lain, terdapat cabaran keselamatan dalam pembangunan Golang. Khususnya, kuasa dan fleksibiliti Golang juga menjadikannya alat penciptaan virus yang berpotensi. Artikel ini akan membincangkan isu keselamatan dalam pembangunan Golang dan menyediakan beberapa kaedah untuk mengelakkan G

Tajuk: Langkah dan teknik untuk menggunakan pengaturcaraan Golang pada Mac Dalam bidang pembangunan perisian semasa, Golang (juga dikenali sebagai Go), sebagai bahasa pengaturcaraan yang cekap, ringkas dan sangat bersesuaian, telah menarik perhatian lebih ramai pembangun . Apabila memprogramkan Golang pada platform Mac, anda boleh menggunakan beberapa alat dan teknik untuk meningkatkan kecekapan pembangunan. Artikel ini akan memperkenalkan langkah dan teknik menggunakan pengaturcaraan Golang pada Mac dan menyediakan contoh kod khusus untuk membantu pembaca memahami dan menggunakan dengan lebih baik. Langkah 1: Pasang Gol

Golang (pendek kata bahasa Go) sebagai bahasa pengaturcaraan telah muncul secara beransur-ansur dalam bidang blockchain sejak beberapa tahun kebelakangan ini, keupayaan pemprosesan serentak yang cekap dan ciri sintaks yang ringkas menjadikannya pilihan yang digemari dalam pembangunan blok. Artikel ini akan meneroka bagaimana Golang membantu pembangunan blockchain dan menunjukkan keunggulannya dalam aplikasi blockchain melalui contoh kod tertentu. 1. Kelebihan Golang dalam bidang blockchain: Keupayaan pemprosesan serentak yang cekap: Nod dalam sistem blockchain perlu memproses sejumlah besar transaksi dan data pada masa yang sama, dan Gola

Golang ialah bahasa pengaturcaraan sumber terbuka yang dibangunkan oleh Google dan digunakan secara meluas dalam pembangunan perkhidmatan bahagian belakang, pengkomputeran awan, pengaturcaraan rangkaian dan bidang lain. Sebagai bahasa yang ditaip secara statik, Golang mempunyai model konkurensi yang cekap dan perpustakaan standard yang berkuasa, jadi ia digemari oleh pembangun. Walau bagaimanapun, dalam pembangunan sebenar, pemaju Golang biasanya perlu menggabungkan bahasa pengaturcaraan lain untuk pembangunan projek untuk memenuhi keperluan senario yang berbeza. PythonPython ialah bahasa pengaturcaraan berorientasikan objek yang ringkas, jelas dan mudah dipelajari.

Gokit ialah rangka kerja mikro perkhidmatan Golang yang meningkatkan prestasi API melalui ciri yang dioptimumkan, berskala, boleh diselenggara dan mesra ujian. Ia menyediakan pelbagai alat dan corak yang membolehkan pengguna membina API yang berprestasi dan boleh diselenggara dengan cepat. Dalam pengeluaran sebenar, ia digunakan secara meluas dalam pembinaan API platform besar seperti Netflix, Spotify dan Uber, mengendalikan permintaan besar-besaran.

Tajuk: Perkongsian teknik praktikal untuk menggantikan ruang di Golang Dengan populariti dan perkembangan Internet, reka bentuk dan pembangunan program menjadi semakin penting. Dalam proses pengaturcaraan, pemprosesan data adalah bahagian yang sangat kritikal. Semasa memproses data teks, anda sering menghadapi situasi di mana anda perlu menggantikan ruang Artikel ini akan berkongsi cara melaksanakan teknologi menggantikan ruang di Golang dan memberikan contoh kod tertentu. Mengapa saya perlu menggantikan ruang? Ruang ialah salah satu aksara khas biasa dalam data teks Kadangkala kita perlu menggantikan ruang dengan aksara lain atau mengalih keluar ruang.

Sebagai bahasa pengaturcaraan yang pantas dan cekap, bahasa Golang digemari oleh semakin ramai pembangun. Namun, dalam pembangunan harian, kita pasti akan menghadapi pelbagai kesilapan. Cara menganalisis dengan betul punca kesilapan dan mencari strategi penyelesaian adalah kemahiran penting yang perlu difahami dan dikuasai oleh setiap pembangun Golang secara mendalam. Kegagalan penegasan jenis analisis ralat Di Golang, penegasan jenis adalah operasi biasa, tetapi kadangkala jika jenis tidak sepadan, panik akan berlaku. Berikut ialah contoh mudah: varxinter
