Rumah pembangunan bahagian belakang Golang Bagaimana untuk mengakses sifat parameter jenis antara muka tanpa menggunakan pernyataan jenis dalam bahasa Go?

Bagaimana untuk mengakses sifat parameter jenis antara muka tanpa menggunakan pernyataan jenis dalam bahasa Go?

Apr 02, 2025 pm 01:21 PM
golang pergi bahasa iphone

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:

  1. reflect.ValueOf(phone) mendapat nilai yang tercermin dari pemboleh ubah antara muka phone .
  2. Oleh kerana phone adalah penunjuk kepada struktur IPhoneFoo , hubungi kaedah Elem() untuk mendapatkan nilai struktur itu sendiri.
  3. v.Field(0) mendapat medan pertama struktur (diindeks kepada 0), iaitu, bidang os .
  4. fmt.Println(os.String()) atau fmt.Println(os) mencetak nilai medan os . 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!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1653
14
Tutorial PHP
1251
29
Tutorial C#
1224
24
Bagaimana menyelesaikan masalah penukaran jenis user_id semasa menggunakan aliran redis untuk melaksanakan beratur mesej dalam bahasa Go? Bagaimana menyelesaikan masalah penukaran jenis user_id semasa menggunakan aliran redis untuk melaksanakan beratur mesej dalam bahasa Go? Apr 02, 2025 pm 04:54 PM

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? Apa yang perlu saya lakukan jika label struktur tersuai di Goland tidak dipaparkan? Apr 02, 2025 pm 05:09 PM

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 ...

Pensijilan Multi-parti: Versi standard iPhone 17 akan menyokong kadar penyegaran yang tinggi! Buat pertama kalinya dalam sejarah! Pensijilan Multi-parti: Versi standard iPhone 17 akan menyokong kadar penyegaran yang tinggi! Buat pertama kalinya dalam sejarah! Apr 13, 2025 pm 11:15 PM

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

Cara melihat XML di telefon anda tanpa rangkaian Cara melihat XML di telefon anda tanpa rangkaian Apr 02, 2025 pm 10:30 PM

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).

Cara Membuka Fail XML dengan iPhone Cara Membuka Fail XML dengan iPhone Apr 02, 2025 pm 11:00 PM

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 disediakan oleh projek sumber terbuka yang terkenal? Perpustakaan mana yang dibangunkan oleh syarikat besar atau disediakan oleh projek sumber terbuka yang terkenal? Apr 02, 2025 pm 04:12 PM

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

Dalam pengaturcaraan GO, bagaimana untuk menguruskan sambungan dan melepaskan sumber antara MySQL dan Redis dengan betul? Dalam pengaturcaraan GO, bagaimana untuk menguruskan sambungan dan melepaskan sumber antara MySQL dan Redis dengan betul? Apr 02, 2025 pm 05:03 PM

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 ...

Tujuan Golang: Membina sistem yang cekap dan berskala Tujuan Golang: Membina sistem yang cekap dan berskala Apr 09, 2025 pm 05:17 PM

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.

See all articles