Rumah > pembangunan bahagian belakang > Golang > Mengapakah Penegasan Jenis Gagal Semasa Menghantar ke Alias ​​Taip dalam Go?

Mengapakah Penegasan Jenis Gagal Semasa Menghantar ke Alias ​​Taip dalam Go?

Barbara Streisand
Lepaskan: 2024-12-22 20:59:13
asal
307 orang telah melayarinya

Why Do Type Assertions Fail When Casting to Type Aliases in Go?

Menghantar ke Alias ​​Taip dalam Go

Apabila menghantar kepada alias jenis dalam Go, penegasan taip digunakan dan bukannya menghantar. Walau bagaimanapun, tingkah laku penegasan jenis berbeza daripada penukaran jenis.

Penukaran Jenis

Penukaran jenis berlaku secara automatik apabila nilai disimpan dalam pembolehubah jenis yang berbeza . Contohnya, memberikan int kepada pembolehubah float64 menghasilkan penukaran jenis.

Penegasan Jenis

Taip penegasan secara eksplisit menyemak sama ada nilai disimpan dalam pembolehubah{} antara muka adalah jenis tertentu. Mereka mengambil bentuk a.(T), dengan a ialah pembolehubah dan T ialah jenis sasaran.

Isu dengan Casting to Type Alias

Seperti yang ditunjukkan dalam menyediakan coretan taman permainan, cuba menghantar pembolehubah antara muka{} kepada jenis alias (somethingFuncy) mengakibatkan panik. Ini kerana penegasan jenis memerlukan jenis nilai dinamik yang sama dengan jenis sasaran.

Penjelasan

Dalam Go, identiti jenis merujuk kepada dua jenis bernama yang mempunyai nama jenis yang sama dan berasal dari TypeSpec yang sama. Memandangkan alias jenis dinamakan jenis secara berkesan, ia mesti mempunyai nama jenis dan pengisytiharan yang sama untuk dianggap sama.

Kesimpulan

Menghantar untuk menaip alias dalam Go menggunakan jenis penegasan tidak boleh dilakukan kerana jenis alias mestilah sama dengan jenis sasaran. Hanya jenis nama yang sama boleh ditegaskan.

Atas ialah kandungan terperinci Mengapakah Penegasan Jenis Gagal Semasa Menghantar ke Alias ​​Taip 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