Rumah > pembangunan bahagian belakang > Golang > Pergi: Taip penegasan - adakah terdapat pepijat dalam spesifikasi?

Pergi: Taip penegasan - adakah terdapat pepijat dalam spesifikasi?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2024-02-06 08:35:10
ke hadapan
918 orang telah melayarinya

Go:类型断言 - 规范中是否有错误?

Kandungan soalan

go Adakah terdapat pepijat dalam penegasan jenis kanonik?

A type assertion used in an assignment statement or initialization of the special form
v, ok = x.(T)
v, ok := x.(T)
var v, ok = x.(T)
var v, ok interface{} = x.(T) // dynamic types of v and ok are T and bool

yields an additional untyped boolean value.
Salin selepas log masuk

Apakah maksud contoh terakhir? var v,好的接口{} = x.(t)?

Saya mendapat ralat semasa pergi 1.19 ralat sintaks: antara muka tidak dijangka, mengharapkan := atau = atau komasyntax 错误:意外的接口,期望 := 或 = 或逗号


正确答案


所有这些行都在尝试相同的操作:x 的类型断言以键入 T。值 ok 确定断言是否成功。在您提供的最后一个示例中,唯一的区别是,您没有为 vok 确定类型,而是为两者提供了 interface{} 的类型。将 vok 声明为 interface{} 不会更改它们包含的值。它允许您将它们发送到函数或将它们添加到需要 interface{}

Jawapan betul

🎜🎜Semua baris ini mencuba perkara yang sama:x untuk menaip T. Nilai ok menentukan sama ada penegasan itu berjaya. Dalam contoh terakhir yang anda berikan, satu-satunya perbezaan ialah daripada menentukan jenis untuk v dan ok, anda menyediakan antara muka{} untuk kedua-duanya taip. Mengisytiharkan v dan ok sebagai antara muka{} tidak mengubah nilai yang terkandung di dalamnya. Ia membolehkan anda menghantarnya ke fungsi atau menambahkannya pada koleksi yang memerlukan jenis antara muka{}, di mana ia mesti ditegaskan semula. 🎜

Atas ialah kandungan terperinci Pergi: Taip penegasan - adakah terdapat pepijat dalam spesifikasi?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan