Mungkin ia beg dalam golang (tali jenis dan tali tidak sepadan)

WBOY
Lepaskan: 2024-02-09 08:06:18
ke hadapan
368 orang telah melayarinya

也许是 golang 中的 bag(类型字符串和字符串不匹配)

Editor PHP Xinyi memperkenalkan anda kepada jenis beg dalam golang. Dalam golang, jenis beg merujuk kepada struktur data yang digunakan untuk menyimpan koleksi elemen. Tidak seperti struktur data lain, elemen dalam beg boleh muncul berulang kali dan susunannya tidak penting. Ini bermakna jenis beg sangat berguna dalam situasi di mana pesanan tidak diperlukan, seperti mengira kekerapan unsur atau menentukan sama ada unsur wujud. Perlu diingatkan bahawa jenis beg dan jenis rentetan tidak sepadan dengan golang, jadi anda perlu memberi perhatian kepada isu penukaran jenis semasa penggunaan.

Kandungan soalan

Jangan tanya saya mengapa saya melakukan ini, cuma beritahu saya bagaimana ia boleh dilakukan:

ralat gopls: rentetan dan rentetan jenis tidak sepadan

type mapsi2[t string | int | float32 | float64] struct {
    keys   []string
    values []t
}

func (mapsi mapsi2[string]) setvalue(key string, value string) {
    for i, keymapsi := range mapsi.keys {
        if key == keymapsi {
            mapsi.values[i] = value
        }
    }
}
Salin selepas log masuk

Mula-mula saya rasa server lsp tu bodoh, tapi ternyata tidak.

Ralat berlaku: rentetan dan rentetan jenis tidak padan

go run ./cmd/app
# devllart/foobarman/src/mapsi
src/mapsi/mapsi.go:48:13: invalid operation: key == keyMapsi (mismatched types string and string)
make: *** [Makefile:6: run] Error 2
Salin selepas log masuk

Saya google dan dalam hasil carian saya mendapat ralat hanya apabila membandingkan penunjuk dengan rentetan... di sana, jenis semuanya baik-baik saja, atau saya salah.

Penyelesaian

Tandatangan kaedah anda hendaklah func (mapsi Mapsi2[T]) SetValue(key string, value T).

Tidak berkaitan dengan isu kompilasi anda, tetapi sila ambil perhatian:

  • Anda mungkin mahu menggunakan penerima penunjuk supaya perubahan berterusan melangkaui panggilan kaedah
  • Anda juga mungkin mahu mengendalikan kes di mana kunci tidak ditemui

Lihat di taman permainan: https://www.php.cn/link/6934456f54af5ab56c6f347c6427afeb一个>.

Atas ialah kandungan terperinci Mungkin ia beg dalam golang (tali jenis dan tali tidak sepadan). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
lsp
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!