Rumah > pembangunan bahagian belakang > Golang > Apakah Tujuan Pengecam Kosong dalam Penegasan Antara Muka Go?

Apakah Tujuan Pengecam Kosong dalam Penegasan Antara Muka Go?

Susan Sarandon
Lepaskan: 2024-12-23 02:13:18
asal
637 orang telah melayarinya

What is the Purpose of the Blank Identifier in Go's Interface Assertion?

Tujuan Pengecam Kosong dalam Pembolehubah Tugasan

Dalam pengisytiharan berubah seperti var _ PropertyLoadSaver = (*Doubler)(nil), pengecam kosong berfungsi untuk tujuan tertentu. Konstruk ini ialah penegasan masa kompilasi bahawa jenis *Doubler melaksanakan antara muka PropertyLoadSaver.

Dalam Go, jenis melaksanakan antara muka apabila ia menawarkan set kaedah yang melebihi atau sepadan dengan set kaedah antara muka. Jika jenis *Doubler tidak memenuhi kriteria ini, pengkompil akan membuang ralat serupa dengan:

prog.go:21: cannot use (*Doubler)(nil) (type *Doubler) as type PropertyLoadSaver in assignment:
*Doubler does not implement PropertyLoadSaver (missing Save method)
Salin selepas log masuk

Teknik pengecam kosong ini melibatkan pengisytiharan pembolehubah yang tidak dinamakan jenis PropertyLoadSaver, kemudian memberikannya nilai nol taip Doubler melalui ungkapan (*Doubler)(nil). Tugasan ini hanya sah jika Doubler melaksanakan antara muka PropertyLoadSaver.

Pengecam kosong menggariskan fakta bahawa pembolehubah ini tidak akan dirujuk di tempat lain dalam pakej. Begitu juga, baris berikut mencapai hasil yang sama tetapi dengan pengecam bukan kosong:

var assertStarDoublerIsPropertyLoadSaver PropertyLoadSaver = (*Doubler)(nil)
Salin selepas log masuk

Atas ialah kandungan terperinci Apakah Tujuan Pengecam Kosong dalam Penegasan Antara Muka 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