Maison > développement back-end > Golang > Comment puis-je trouver l'index d'un élément dans une Go Slice ?

Comment puis-je trouver l'index d'un élément dans une Go Slice ?

Linda Hamilton
Libérer: 2024-12-11 21:07:11
original
718 Les gens l'ont consulté

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

Trouver la position d'un élément dans une tranche

Déterminer la position d'un élément dans une tranche dans Go peut être une tâche utile. Cependant, contrairement à d'autres langages, il n'existe pas de fonction de bibliothèque générique pour effectuer cette opération directement.

Solution personnalisée

Une approche consiste à créer une fonction personnalisée spécifiquement pour les types de tranches :

type intSlice []int

func (slice intSlice) pos(value int) int {
    for p, v := range slice {
        if v == value {
            return p
        }
    }
    return -1
}
Copier après la connexion

Cette fonction parcourt les éléments de la tranche, comparant chaque élément à la valeur recherchée. Si une correspondance est trouvée, la position de l'élément est renvoyée.

Considérations

Bien que votre fonction personnalisée fonctionne, il est important de noter qu'elle ne fonctionnera que sur int tranches. Si vous devez rechercher une valeur spécifique dans une tranche d'un type différent, vous devrez créer une nouvelle fonction spécifiquement pour ce type.

Tranches d'octets

Pour les tranches d'octets, il existe une fonction intégrée appelée bytes.IndexByte qui peut être utilisée pour trouver la position d'une valeur d'octet dans le slice :

package bytes

func IndexByte(s []byte, b byte) int
Copier après la connexion

Conclusion

La détermination de la position d'un élément dans une tranche en Go nécessite soit une fonction personnalisée, soit l'utilisation de bytes.IndexByte pour les tranches d'octets . Bien qu'il n'existe pas de fonction de bibliothèque générique pour effectuer cette tâche pour tous les types de tranches, l'approche personnalisée offre un moyen pratique de rechercher des éléments dans des types de tranches spécifiques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal