


Bagaimana untuk mengakses sifat parameter jenis antara muka tanpa menggunakan pernyataan jenis dalam bahasa Go?
Parameter Jenis Antara Muka Golang Akses Atribut: Elakkan Penegasan Jenis
Artikel ini memperkenalkan cara mengakses sifat parameter jenis antara muka dalam bahasa Go tanpa bergantung pada dakwaan jenis. Kod sampel menunjukkan bahawa fungsi doRun
menerima parameter jenis antara muka PhoneFoo
dan perlu mengakses atribut os
struktur IPhoneFoo
. Akses langsung ke phone.os
akan menyebabkan ralat kerana antara muka hanya mentakrifkan kaedah dan tidak mengandungi medan struktur.
Kod asal cuba mengakses phone.os
secara langsung, yang salah, kerana antara muka hanya mentakrifkan kaedah dan tidak dapat mengakses medan secara langsung struktur asas. Oleh itu, kaedah lain perlu digunakan untuk mengakses atribut os
.
Makalah ini menggunakan mekanisme refleksi untuk menyelesaikan masalah ini. Refleksi membolehkan pemeriksaan runtime dan memanipulasi maklumat jenis objek. Kod yang lebih baik menggunakan pakej reflect
untuk dilaksanakan:
-
reflect.ValueOf(phone)
mendapat nilai yang tercermin dari pemboleh ubah antara mukaphone
. - Oleh kerana
phone
adalah penunjuk kepada strukturIPhoneFoo
, hubungi kaedahElem()
untuk mendapatkan nilai struktur itu sendiri. -
v.Field(0)
mendapat medan pertama struktur (diindeks kepada 0), iaitu, bidangos
. -
fmt.Println(os.String())
ataufmt.Println(os)
mencetak nilai medanos
.os.Type()
mencetak maklumat jenis medan.
Melalui refleksi, kami secara dinamik memperoleh dan mencetak nilai atribut os
struktur IPhoneFoo
, mengelakkan masalah redundansi dan masalah penyelenggaraan yang disebabkan oleh penegasan jenis. Kaedah ini sesuai untuk mengendalikan pelbagai jenis senario yang berbeza dengan antara muka yang sama.
Atas ialah kandungan terperinci Bagaimana untuk mengakses sifat parameter jenis antara muka tanpa menggunakan pernyataan jenis dalam bahasa Go?. 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











Masalah menggunakan redisstream untuk melaksanakan beratur mesej dalam bahasa Go menggunakan bahasa Go dan redis ...

Apa yang perlu saya lakukan jika label struktur tersuai di Goland tidak dipaparkan? Apabila menggunakan Goland untuk Pembangunan Bahasa GO, banyak pemaju akan menghadapi tag struktur tersuai ...

Apple's iPhone 17 boleh menyambut peningkatan utama untuk mengatasi kesan pesaing yang kuat seperti Huawei dan Xiaomi di China. Menurut Stesen Sembang Blogger @Digital, versi standard iPhone 17 dijangka dilengkapi dengan skrin kadar penyegaran yang tinggi untuk kali pertama, dengan ketara meningkatkan pengalaman pengguna. Langkah ini menandakan fakta bahawa Apple akhirnya mewakilkan teknologi kadar penyegaran yang tinggi kepada versi standard selepas lima tahun. Pada masa ini, iPhone 16 adalah satu -satunya telefon utama dengan skrin 60Hz dalam julat harga 6,000 yuan, dan nampaknya sedikit di belakang. Walaupun versi standard iPhone 17 akan mempunyai skrin kadar penyegaran yang tinggi, masih terdapat perbezaan berbanding dengan versi Pro, seperti reka bentuk bezel masih tidak mencapai kesan bezel ultra-baru dari versi Pro. Apa yang lebih baik diperhatikan ialah siri iPhone 17 Pro akan mengguna pakai jenama baru dan banyak lagi

Terdapat dua cara untuk melihat fail XML: Telefon Android: Gunakan Pengurus Fail atau Aplikasi Pihak Ketiga (Penonton XML, DROIDEDIT). iPhone: Pindahkan fail melalui iCloud Drive dan gunakan aplikasi fail atau aplikasi pihak ketiga (XML Buddha, Textastic).

Tidak ada penonton XML terbina dalam iPhone, dan anda boleh menggunakan aplikasi pihak ketiga untuk membuka fail XML, seperti penonton XML, JSON Viewer. Kaedah: 1. Muat turun dan pasang penonton XML di App Store; 2. Cari fail XML pada iPhone; 3. Tekan dan tahan fail XML untuk memilih "Kongsi"; 4. Pilih aplikasi Viewer XML yang dipasang; 5. Fail XML akan dibuka dalam aplikasinya. Nota: 1. Pastikan penonton XML bersesuaian dengan versi iOS iPhone; 2. Berhati -hati mengenai sensitiviti kes semasa memasukkan laluan fail; 3. Berhati -hati dengan dokumen XML yang mengandungi entiti luaran

Perpustakaan mana yang dibangunkan oleh syarikat besar atau projek sumber terbuka yang terkenal? Semasa pengaturcaraan di GO, pemaju sering menghadapi beberapa keperluan biasa, ...

Pengurusan Sumber dalam Pemrograman GO: MySQL dan Redis Connect dan Lepaskan dalam Pembelajaran Cara Mengurus Sumber Sumber dengan betul, terutamanya dengan pangkalan data dan cache ...

Pergi bahasa berfungsi dengan baik dalam membina sistem yang cekap dan berskala. Kelebihannya termasuk: 1. Prestasi Tinggi: Disusun ke dalam Kod Mesin, Kelajuan Berjalan Cepat; 2. Pengaturcaraan serentak: Memudahkan multitasking melalui goroutine dan saluran; 3. Kesederhanaan: sintaks ringkas, mengurangkan kos pembelajaran dan penyelenggaraan; 4. Cross-Platform: Menyokong kompilasi silang platform, penggunaan mudah.
