Heim >Backend-Entwicklung >Golang >Wie kann ich den Index eines Elements in einem Go-Slice finden?

Wie kann ich den Index eines Elements in einem Go-Slice finden?

Linda Hamilton
Linda HamiltonOriginal
2024-12-11 21:07:11721Durchsuche

How Can I Find the Index of an Element in a Go Slice?

Ermitteln der Position eines Elements in einem Slice

Das Bestimmen der Position eines Elements in einem Slice in Go kann eine nützliche Aufgabe sein. Im Gegensatz zu anderen Sprachen gibt es jedoch keine generische Bibliotheksfunktion, um diesen Vorgang direkt auszuführen.

Benutzerdefinierte Lösung

Ein Ansatz besteht darin, eine benutzerdefinierte Funktion speziell für Slice-Typen zu erstellen:

type intSlice []int

func (slice intSlice) pos(value int) int {
    for p, v := range slice {
        if v == value {
            return p
        }
    }
    return -1
}

Diese Funktion durchläuft die Elemente im Slice und vergleicht jedes Element mit dem gesuchten Wert. Wenn eine Übereinstimmung gefunden wird, wird die Position des Elements zurückgegeben.

Überlegungen

Während Ihre benutzerdefinierte Funktion funktioniert, ist es wichtig zu beachten, dass sie nur für int funktioniert Scheiben. Wenn Sie nach einem bestimmten Wert in einem Slice eines anderen Typs suchen müssen, müssen Sie eine neue Funktion speziell für diesen Typ erstellen.

Byte-Slices

Für Byte-Slices gibt es eine integrierte Funktion namens bytes.IndexByte, mit der die Position eines Byte-Werts im ermittelt werden kann Slice:

package bytes

func IndexByte(s []byte, b byte) int

Fazit

Das Bestimmen der Position eines Elements in einem Slice in Go erfordert entweder eine benutzerdefinierte Funktion oder die Verwendung von bytes.IndexByte für Byte-Slices . Obwohl es keine generische Bibliotheksfunktion gibt, um diese Aufgabe für alle Slice-Typen auszuführen, bietet der benutzerdefinierte Ansatz eine bequeme Möglichkeit, nach Elementen in bestimmten Slice-Typen zu suchen.

Das obige ist der detaillierte Inhalt vonWie kann ich den Index eines Elements in einem Go-Slice finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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