Rumah pembangunan bahagian belakang Golang peta golang membuang unsur

peta golang membuang unsur

May 10, 2023 am 09:07 AM

Golang ialah bahasa yang ditaip kuat, disusun secara statik, dan ia juga merupakan bahasa dengan kecekapan pembangunan yang agak tinggi. Dalam pembangunan, struktur data pengumpulan sering diperlukan, dan peta dalam golang ialah struktur data pengumpulan yang berkuasa. Peta menyimpan satu set pasangan nilai kunci, dan nilai yang sepadan boleh dicari dengan cepat melalui kunci. Apabila menggunakan peta, kadangkala anda perlu mengalih keluar elemen Seterusnya, mari kita bercakap tentang cara membuang elemen peta dalam golang.

peta dalam golang

peta dalam golang ialah jenis rujukan, yang serupa dengan kamus atau jadual cincang dalam bahasa lain Ia menyimpan set pasangan nilai kunci, di mana kuncinya adalah unik, tidak boleh diulang dan nilainya boleh diulang. Lapisan bawah struktur data peta dalam golang ialah jadual cincang. Apabila menggunakan peta, anda perlu memberi perhatian kepada perkara berikut:

  1. peta ialah jenis rujukan dan perlu dibuat menggunakan fungsi make.
  2. Peta boleh diulang menggunakan sintaks untuk julat.
  3. Kunci peta boleh terdiri daripada sebarang jenis yang boleh dibandingkan untuk kesamaan, seperti integer, rentetan, struktur, dsb.
  4. Peta tidak tersusun dan susunan setiap laluan mungkin berbeza.

Cara mengalih keluar elemen peta dalam golang

Dalam golang, kita boleh mengalih keluar elemen peta dengan menggunakan fungsi delete(). Format sintaks fungsi delete() adalah seperti berikut:

delete(map, key)
Salin selepas log masuk

Antaranya, peta mewakili peta yang akan dikendalikan dan kunci mewakili kunci yang akan dipadamkan. Apabila menggunakan fungsi padam, anda perlu memberi perhatian kepada perkara berikut:

  1. Memadam pasangan nilai kunci yang tidak wujud tidak akan melaporkan ralat.
  2. Jika anda secara tidak sengaja memadamkan pasangan nilai kunci yang tidak wujud, ia tidak akan menyebabkan program ranap.
  3. Apabila berbilang gorout mengendalikan peta pada masa yang sama, penguncian diperlukan untuk mengelakkan persaingan.
  4. Jika sebilangan besar pasangan nilai kunci dipadamkan, jadual cincang peta mungkin dicincang semula, menjejaskan prestasi.

Contoh kod untuk mengalih keluar elemen peta dalam golang

Di bawah ini kami menggunakan kod sampel untuk memahami lebih lanjut cara mengalih keluar elemen peta dalam golang.

package main

import (
    "fmt"
)

func main() {
    // 创建一个map
    testMap := make(map[string]int)

    testMap["apple"] = 1
    testMap["banana"] = 2
    testMap["orange"] = 3

    // 删除map中的某个元素
    delete(testMap, "apple")

    // 遍历map
    for key, value := range testMap {
        fmt.Println(key, value)
    }
}
Salin selepas log masuk

Hasil output adalah seperti berikut:

banana 2
orange 3
Salin selepas log masuk

Dalam kod contoh di atas, kami mencipta peta bernama testMap dan menambah tiga pasangan nilai kunci padanya. Kemudian, kami menggunakan fungsi delete() untuk mengalih keluar elemen dengan kekunci "epal" daripada testMap. Akhir sekali, kami menggunakan sintaks untuk julat untuk merentasi testMap dan mengeluarkan elemen yang tinggal dalam peta. Seperti yang dapat dilihat dari output, elemen dengan kunci "epal" telah berjaya dikeluarkan.

Mengenai penyingkiran elemen peta, selain menggunakan fungsi delete(), anda juga boleh menetapkan nilai yang sepadan dengan kunci yang perlu dialih keluar kepada nilai sifar tertentu (seperti 0, "" , tiada, dsb.). Walau bagaimanapun, kaedah ini hanya terpakai apabila nilai adalah jenis asas Untuk kes di mana nilai adalah jenis komposit (seperti penunjuk, struktur, dll.), anda perlu menggunakan fungsi delete() untuk mengalih keluarnya.

Ringkasan

Peta dalam golang ialah struktur data seperti koleksi yang berkuasa yang boleh digunakan untuk menyimpan satu set pasangan nilai kunci. Apabila menggunakan peta, kadangkala anda perlu mengalih keluar elemen Dalam kes ini, anda boleh menggunakan fungsi delete() untuk melengkapkannya. Perlu diingatkan bahawa penguncian diperlukan apabila berbilang goroutine mengendalikan peta pada masa yang sama untuk mengelakkan persaingan. Pada masa yang sama, jika elemen perlu dipadamkan dengan kerap, adalah disyorkan untuk menggunakan struktur data lain dan bukannya peta.

Atas ialah kandungan terperinci peta golang membuang unsur. 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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

GO Language Pack Import: Apakah perbezaan antara garis bawah dan tanpa garis bawah? GO Language Pack Import: Apakah perbezaan antara garis bawah dan tanpa garis bawah? Mar 03, 2025 pm 05:17 PM

Artikel ini menerangkan mekanisme import pakej Go: Dinamakan import (mis., Import & quot; fmt & quot;) dan import kosong (mis., Import _ & quot; fmt & quot;). Dinamakan import membuat kandungan pakej boleh diakses, sementara import kosong hanya melaksanakan t

Bagaimana untuk melaksanakan pemindahan maklumat jangka pendek antara halaman dalam kerangka beego? Bagaimana untuk melaksanakan pemindahan maklumat jangka pendek antara halaman dalam kerangka beego? Mar 03, 2025 pm 05:22 PM

Artikel ini menerangkan fungsi Newflash () Beego untuk pemindahan data antara halaman dalam aplikasi web. Ia memberi tumpuan kepada menggunakan NewFlash () untuk memaparkan mesej sementara (kejayaan, kesilapan, amaran) antara pengawal, memanfaatkan mekanisme sesi. Limita

Bagaimana cara menukar senarai hasil pertanyaan mysql ke dalam slice struktur tersuai dalam bahasa Go? Bagaimana cara menukar senarai hasil pertanyaan mysql ke dalam slice struktur tersuai dalam bahasa Go? Mar 03, 2025 pm 05:18 PM

Artikel ini memperincikan penukaran yang cekap hasil pertanyaan MySQL ke dalam kepingan struct go. Ia menekankan menggunakan kaedah imbasan pangkalan data/SQL untuk prestasi optimum, mengelakkan parsing manual. Amalan terbaik untuk pemetaan medan struct menggunakan tag db dan robus

Bagaimana saya menulis objek dan stub untuk ujian di GO? Bagaimana saya menulis objek dan stub untuk ujian di GO? Mar 10, 2025 pm 05:38 PM

Artikel ini menunjukkan penciptaan dan stub di GO untuk ujian unit. Ia menekankan penggunaan antara muka, menyediakan contoh pelaksanaan mengejek, dan membincangkan amalan terbaik seperti menjaga mocks fokus dan menggunakan perpustakaan penegasan. Articl

Bagaimana saya boleh menentukan kekangan jenis tersuai untuk generik di GO? Bagaimana saya boleh menentukan kekangan jenis tersuai untuk generik di GO? Mar 10, 2025 pm 03:20 PM

Artikel ini meneroka kekangan jenis adat Go untuk generik. Ia memperincikan bagaimana antara muka menentukan keperluan jenis minimum untuk fungsi generik, meningkatkan keselamatan jenis dan kebolehgunaan semula kod. Artikel ini juga membincangkan batasan dan amalan terbaik

Bagaimana cara menulis fail dalam bahasa Go dengan mudah? Bagaimana cara menulis fail dalam bahasa Go dengan mudah? Mar 03, 2025 pm 05:15 PM

Artikel ini memperincikan penulisan fail yang cekap di GO, membandingkan OS.WriteFile (sesuai untuk fail kecil) dengan os.openfile dan buffered menulis (optimum untuk fail besar). Ia menekankan pengendalian ralat yang teguh, menggunakan penangguhan, dan memeriksa kesilapan tertentu.

Bagaimana anda menulis ujian unit di GO? Bagaimana anda menulis ujian unit di GO? Mar 21, 2025 pm 06:34 PM

Artikel ini membincangkan ujian unit menulis di GO, meliputi amalan terbaik, teknik mengejek, dan alat untuk pengurusan ujian yang cekap.

Bagaimana saya boleh menggunakan alat pengesanan untuk memahami aliran pelaksanaan aplikasi saya? Bagaimana saya boleh menggunakan alat pengesanan untuk memahami aliran pelaksanaan aplikasi saya? Mar 10, 2025 pm 05:36 PM

Artikel ini meneroka menggunakan alat pengesanan untuk menganalisis aliran pelaksanaan aplikasi GO. Ia membincangkan teknik instrumentasi manual dan automatik, membandingkan alat seperti Jaeger, Zipkin, dan OpenTelemetry, dan menonjolkan visualisasi data yang berkesan

See all articles