Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Semak sama ada Nilai Melaksanakan Antara Muka dalam Go?
Menyemak Pelaksanaan Antara Muka dalam Go
Dalam Go, menggunakan antara muka menyediakan cara untuk menentukan gelagat biasa untuk jenis data yang berbeza. Walau bagaimanapun, menentukan sama ada nilai melaksanakan antara muka tertentu boleh menjadi rumit.
Type Assertion vs. Type Switch
Kaedah yang paling biasa untuk menyemak sama ada nilai melaksanakan antara muka adalah melalui penegasan jenis:
_, ok := val.(Somether)
Penegasan jenis ini mengesahkan jika nilai val boleh ditukar kepada jenis Somether. Jika boleh, ia memberikan nilai ditukar kepada _ dan menetapkan ok kepada benar; jika tidak, ia ditetapkan ok kepada palsu.
Walau bagaimanapun, penegasan jenis menganggap bahawa val ialah antara muka, yang mungkin tidak selalu berlaku. Untuk semakan jenis eksplisit, anda boleh menggunakan kaedah suis jenis:
var _ Somether = (*MyType)(nil)
Dalam contoh ini, kami mengisytiharkan pembolehubah jenis Somether yang tidak dinamakan dan menetapkannya sama dengan penuding nol jenis MyType. Sintaks ini memastikan bahawa pengkompil mengesahkan jika MyType melaksanakan Somether, mencetuskan ralat kompilasi jika tidak.
Kesederhanaan Jenis Diketahui
Adalah penting untuk ambil perhatian bahawa jika jenis val diketahui, pengkompil secara automatik menyemak jika ia melaksanakan Somether. Semakan eksplisit yang diterangkan di atas hanya perlu apabila jenisnya tidak diketahui.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Semak sama ada Nilai Melaksanakan Antara Muka dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!