Jadual Kandungan
Bagaimana jenis penegasan berfungsi
Dua bentuk penegasan jenis
Kes penggunaan biasa
Rumah pembangunan bahagian belakang Golang Apakah penegasan jenis di Golang

Apakah penegasan jenis di Golang

Sep 23, 2025 am 02:05 AM
golang jenis penegasan

Taipkan penegasan dalam GO mengekstrak nilai asas antara muka {} dan memeriksa jenis konkritnya pada runtime menggunakan nilai, OK: = interfacevar. (Type); Ia selamat mengambil nilai jika jenis sepadan, mengelakkan panik apabila menggunakan borang dua nilai.

Apakah penegasan jenis di Golang

Taipkan penegasan dalam Go adalah cara untuk mengekstrak nilai asas antara muka {} jenis dan periksa jenis konkrit sebenar pada runtime. Oleh kerana antara muka di GO boleh memegang nilai -nilai yang berbeza, ketikkan penegasan membantu anda mengakses jenis sebenar dan nilai yang disimpan di dalam antara muka.

Bagaimana jenis penegasan berfungsi

Apabila anda mempunyai nilai antara muka dan anda ingin menegaskan ia adalah jenis tertentu, anda menggunakan nilai sintaks, OK: = interfacevar. (Jenis) . Ini memeriksa sama ada antara muka memegang jenis yang ditentukan dan mengambil nilainya jika benar.

Contohnya:

var i Interface {} = "Hello"
s, ok: = i. (String)
Sekiranya ok {
fmt.println ("Rentetan adalah:", s)
}

Dalam kes ini, saya adalah antara muka kosong yang memegang rentetan. Jenis penegasan i. (String) cuba mengekstrak nilai rentetan. Nilai pulangan kedua OK menunjukkan sama ada pernyataan itu berjaya.

Dua bentuk penegasan jenis

Taipkan pernyataan datang dalam dua bentuk: satu dengan nilai pulangan tunggal dan satu dengan dua.

  • Nilai pulangan tunggal : Jika anda pasti tentang jenis, anda boleh menulis V: = i. (String) . Tetapi jika jenis itu tidak sepadan, ia akan panik.
  • Dua nilai pulangan : Borang yang lebih selamat: V, OK: = i. (Int) . Gunakan ini apabila tidak pasti - tiada panik berlaku, hanya ok == palsu jika jenis itu salah.

Kes penggunaan biasa

Pernyataan jenis sering digunakan apabila bekerja dengan fungsi yang menerima atau mengembalikan antara muka {} , terutamanya dalam senario seperti generik sebelum pergi menambah generik.

Contoh dalam fungsi:

Func Huraikan (I Interface {}) {
jika s, ok: = i. (string); ok {
fmt.printf ("Ini rentetan: %s \ n", s)
} lain jika n, ok: = i. (int); ok {
fmt.printf ("Ini int: %d \ n", n)
} else {
fmt.printf ("jenis tidak diketahui")
}
}

Fungsi ini menggunakan pelbagai jenis pernyataan untuk mengendalikan pelbagai jenis dengan selamat.

Pada asasnya, penegasan jenis membolehkan anda memeriksa dan mengekstrak nilai dari antara muka dengan selamat, menjadikannya penting untuk mengendalikan jenis dinamik di GO. Ingatlah untuk menggunakan bentuk dua nilai apabila ketidakpastian wujud untuk mengelakkan panik.

Atas ialah kandungan terperinci Apakah penegasan jenis di Golang. 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

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

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.

Stock Market GPT

Stock Market GPT

Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

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)

Bagaimana menanamkan aset statik dalam binari golang Bagaimana menanamkan aset statik dalam binari golang Aug 30, 2025 am 04:50 AM

Menggunakan pakej embed Go, anda boleh membenamkan sumber statik terus ke dalam fail binari. Bermula dari GO1.16, dengan menggunakan // Go: Enderved arahan sebelum pembolehubah, satu fail, pelbagai fail atau keseluruhan direktori boleh dibenamkan, menyokong rentetan, [] byte atau embed.fs jenis. Kandungan tertanam dikuatkan ke dalam binari pada masa penyusunan. Laluan perlu wujud dan sensitif kes. Adalah disyorkan untuk menggunakan Embed dan bukannya alat pihak ketiga seperti Go-Bindata. Kaedah ini mudah dan cekap dan telah menjadi amalan standard.

Cara Membina API RESTful tanpa Rangka Kerja di Golang Cara Membina API RESTful tanpa Rangka Kerja di Golang Aug 20, 2025 am 01:47 AM

Ya, dengan menggunakan Perpustakaan Standard Go, anda boleh membina API yang tenang, mengendalikan permintaan melalui NET/HTTP, pengekodan/json, dan konteks pengurusan konteks, digabungkan dengan HTTP.Servemux Routing, Resolusi Laluan Manual, Middleware Encapsulation dan Pengendalian Kesalahan yang Sesuai.

Apakah cara yang berbeza untuk memformat rentetan di Golang? Apakah cara yang berbeza untuk memformat rentetan di Golang? Aug 23, 2025 pm 01:25 PM

FMT.sprintf digunakan untuk memformat dan mengembalikan rentetan, sesuai untuk penyisipan dan penyimpanan yang berubah -ubah; 2.fmt.fprintf menulis hasil yang diformat secara langsung kepada io.writer, sesuai untuk penulisan fail atau rangkaian; 3.strings.join digunakan untuk menghubungkan irisan rentetan dengan cekap; 4. Pengendali sesuai untuk jahitan satu kali mudah; 5.Strings.Builder menyediakan prestasi tinggi apabila gelung atau jahitan berskala besar; 6. Pakej Templat sesuai untuk penjanaan teks dinamik yang kompleks berdasarkan data, seperti fail HTML atau konfigurasi. Kaedah yang sesuai harus dipilih berdasarkan prestasi, kebolehbacaan dan senario untuk berakhir dengan ayat lengkap.

Apakah middleware dalam konteks pelayan web Golang? Apakah middleware dalam konteks pelayan web Golang? Sep 16, 2025 am 02:16 AM

MiddlewareinGowebserversarefunctionsthatinterceptHTTPrequestsbeforetheyreachthehandler,enablingreusablecross-cuttingfunctionality;theyworkbywrappinghandlerstoaddpre-andpost-processinglogicsuchaslogging,authentication,CORS,orerrorrecovery,andcanbechai

Cara Menukar Jenis Data di Golang Cara Menukar Jenis Data di Golang Aug 19, 2025 pm 02:43 PM

Jenis penukaran dalam GO mesti dilakukan secara eksplisit dan tidak dapat secara tersirat. Untuk jenis angka, gunakan jenis sasaran sebagai fungsi untuk penukaran, seperti Int64 (a), tetapi perhatikan limpahan dan kehilangan ketepatan; Penukaran antara rentetan dan nombor memerlukan penggunaan fungsi seperti ATOI, Parseint, Parsefloat, Itoa dan Formatfloat dalam pakej STRCONV, dan mengendalikan kesilapan yang mungkin; Rentetan dan kepingan byte boleh ditukar secara langsung kepada satu sama lain melalui [] byte dan rentetan (b), yang sesuai untuk operasi I/O dan rangkaian; Penukaran jenis antara muka {} (atau mana -mana) bergantung pada jenis penegasan x. (Jenis) atau jenis suis untuk selamat mengekstrak jenis asal, mengelakkan penggunaan penukaran antara muka {} (atau mana -mana) jenis penegasan jenis bergantung x.

Cara mengintegrasikan dengan barisan mesej seperti rabbitmq di golang Cara mengintegrasikan dengan barisan mesej seperti rabbitmq di golang Sep 02, 2025 am 07:46 AM

Jawapannya adalah menggunakan perpustakaan AMQP091-Go untuk menyambungkan RabbitMQ, mengisytiharkan beratur dan suis, menerbitkan mesej dengan selamat, penggunaan mesej dengan QoS dan pengakuan manual, dan menyambung semula mekanisme untuk mencapai integrasi barisan mesej yang boleh dipercayai di GO. Contoh lengkap termasuk proses sambungan, pengeluaran, penggunaan dan ralat, memastikan mesej tidak hilang dan menyokong pemotongan dan penyambungan semula, dan akhirnya menjalankan RabbitMQ melalui Docker untuk menyelesaikan integrasi akhir-ke-akhir.

Apakah ujian yang didorong oleh meja di Golang? Apakah ujian yang didorong oleh meja di Golang? Aug 28, 2025 am 01:38 AM

Jadual-driventestingingoisapatternhatusesadatastructure, biasanyaSliceofstructs, todefinemultipleTestcaseswithinputsandexpectedoutputs, membolehkanYoutoUtoSameTestlogicaSsallcasesesinoop,

Bagaimana Mengendalikan Json di Golang? Bagaimana Mengendalikan Json di Golang? Aug 27, 2025 am 04:35 AM

Pemprosesan JSON Go dilaksanakan melalui pakej pengekodan/JSON. Kaedah utama termasuk: 1. Gunakan json.unmarshal () atau json.newDecoder () untuk menghuraikan json ke dalam struktur. Anda perlu menentukan struct dengan tag JSON, seperti TypeUserstruct {Namestringjson: "Nama"}, Unmarshal sesuai untuk data byte, NewDecoder sesuai untuk data streaming seperti HTTP; 2. Gunakan json.marshal () atau json.newencoder () untuk menyandikan struktur ke dalam json, dan marshal mengembalikan bait

See all articles