Heim > Backend-Entwicklung > Golang > Entfernen Sie dieselben Elemente aus zwei Arrays Golang

Entfernen Sie dieselben Elemente aus zwei Arrays Golang

WBOY
Freigeben: 2024-02-11 22:54:08
nach vorne
788 Leute haben es durchsucht

Entfernen Sie dieselben Elemente aus zwei Arrays Golang

php-Editor Apple bringt Ihnen einen Artikel über das Löschen identischer Elemente aus zwei Arrays. Beim Programmieren stoßen wir häufig auf Situationen, in denen wir dieselben Elemente in einem Array löschen müssen. Dieser Vorgang kann uns helfen, Daten besser zu verarbeiten. In diesem Artikel erfahren Sie, wie Sie mithilfe der Golang-Sprache dieselben Elemente aus zwei Arrays löschen. Ich hoffe, dass dies für Ihre Programmierarbeit hilfreich ist. Lass uns einen Blick darauf werfen!

Frageninhalt

a:=[]rune("/storage/emulated/0/Custom_Scripts/Golang/")

b:=[]rune("/storage/emulated/0/")

Es gibt zwei Slices a && b. In der Schleife sollten wir jedes Element aus dem zweiten Slice $b nehmen und es mit den Elementen im ersten Slice $a vergleichen. Wenn sie gleich sind, erhalten wir das erste Slice $a Die Lösung sollte ohne Paket außer fmt (nur zum Drucken des endgültigen Arrays) und auf zwei Arten erfolgen: Benutze geschwungene Fäuste Die zweite Karte

Ich versuche, es auf diese Weise freizugeben, bekomme aber eine Panik außerhalb des zulässigen Bereichs. Kann mir jemand helfen?

package main
import(
"fmt"
)
func main() {
    fileMeta := 
[]rune("/storage/emulated/0/Custom_Scripts/Golang/")
    delChr := []rune("/storage/emulated/0")
    for i, j := range fileMeta {
        for _, m := range delChr {
            if m == j {
               //fileMeta[i] = ""
               fileMeta = append(fileMeta[:i], 
fileMeta[i+1:]...)
            }
        }
    }
    fmt.Println(fileMeta)
  }
Nach dem Login kopieren

Lösung

Ich werde das Rad nicht neu erfinden:

package main

import (
    "fmt"
    "strings"
)

func main() {
    fileMeta := []rune("/storage/emulated/0/Custom_Scripts/Golang/")
    delChr := []rune("/storage/emulated/0")

    fm := string(fileMeta)
    pfx := string(delChr)

    if tail := strings.TrimPrefix(fm, pfx); len(tail) != len(fm) {
        fileMeta = []rune(tail)
    }

    fmt.Println(fileMeta, string(fileMeta))
}
Nach dem Login kopieren

Übrigens, muss man das wirklich bei []runes machen? Das ist für die meisten Anwendungen unnatürlich – warum nicht gleich die richtige Zeichenfolge verwenden?

Das obige ist der detaillierte Inhalt vonEntfernen Sie dieselben Elemente aus zwei Arrays Golang. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage