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!