Adakah terdapat cara untuk mengetahui melalui go cmdline atau IDE (IntelliJ) antara muka yang dilaksanakan oleh struct saya?

PHPz
Lepaskan: 2024-02-09 09:30:38
ke hadapan
447 orang telah melayarinya

有没有办法通过 go cmdline 或 IDE (IntelliJ) 找出我的结构实现了哪些接口?

Editor PHP Xiaoxin menjawab soalan anda Jika anda ingin tahu antara muka yang digunakan oleh struktur anda, terdapat beberapa cara untuk melakukannya. Pertama, anda boleh menggunakan alat baris arahan go cmdline untuk mencarinya. Taip "go doc -all" pada baris arahan dan tekan Enter Ia akan memaparkan semua antara muka yang dilaksanakan dalam struktur anda. Selain itu, jika anda menggunakan IntelliJ IDE, anda boleh menggunakan ciri navigasi kod yang disediakan untuk mengetahui antara muka yang struktur anda laksanakan. Hanya cari definisi struct anda dalam kod, kemudian Ctrl-klik pada nama struct dan ia akan menunjukkan kepada anda semua pelaksanaan antara muka. Semoga kaedah ini membantu anda!

Kandungan soalan

Katakan saya ada

// main.go
type Speaker interface {
  Speak()
}

type Person struct {}

func (p *Person) Speak() {
   panic("test")
}
Salin selepas log masuk

Adakah terdapat cara untuk mengetahui antara muka yang digunakan oleh Orang, memandangkan antara muka yang lain dalam kod? Jelas sekali, Orang melaksanakan Speaker, tetapi bagaimana jika ia adalah jenis lain

type Ghost interface {
  Speak()
}
Salin selepas log masuk

Ada dalam pakej lain?

Untuk konteks, saya melihat pangkalan kod dan sukar untuk memutuskan sama ada kaedah penerima boleh dialih keluar kerana sukar untuk mengetahui sama ada kaedah itu wujud untuk memenuhi keperluan antara muka atau hanya untuk meningkatkan fungsi. Dalam pangkalan kod kendiri saya boleh mengalih keluarnya dan melihat sama ada saya mendapat ralat pengkompil, tetapi saya tidak boleh melakukan perkara yang sama dalam perpustakaan awam.

Penyelesaian

Daripada dokumentasi goland anda boleh pergi ke satu pelaksanaan menggunakan ikon longkang yang melaksanakan atau mengatasi antara muka anda, atau anda boleh menggunakan Cmd + U untuk mencari semua pelaksanaan (dengan andaian anda sedang bekerja pada Mac). Berikut adalah pautan kepada dokumentasi:

https://www.jetbrains .com/help/go/navigating-through-the-source-code.html#go_to_implementation

Memandangkan Goland ialah IDE Go berdasarkan IntelliJ, anda sepatutnya boleh melakukan perkara yang sama. Anda mungkin perlu mengkonfigurasi ikon longkang, tetapi arahan yang sama harus berfungsi dalam IntelliJ.

Atas ialah kandungan terperinci Adakah terdapat cara untuk mengetahui melalui go cmdline atau IDE (IntelliJ) antara muka yang dilaksanakan oleh struct saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!