Maison >développement back-end >Golang >Comment puis-je trouver la position d'un élément dans une Go Slice ?
Recherche des positions des éléments dans les tranches
La détermination de la position d'un élément dans une tranche dans Go n'est pas prise en charge par une fonction de bibliothèque générique. La conception du langage Go ne dispose pas d'une approche simple pour définir une fonction applicable à tout type de tranche.
Implémentation personnalisée
Vous pouvez définir votre propre fonction, comme indiqué dans l'exemple de code. vous avez fourni, pour réaliser cette tâche :
type intSlice []int func (slice intSlice) pos(value int) int { for p, v := range slice { if v == value { return p } } return -1 }
Cette fonction parcourt la tranche, en comparant chaque élément à la valeur spécifiée. Si la valeur est trouvée, sa position est renvoyée ; sinon, -1 est renvoyé.
Bien que cette fonction soit fonctionnelle, une amélioration mineure pourrait être apportée en utilisant la syntaxe de plage plus courte :
func (slice intSlice) pos(value int) int { for i, v := range slice { if v == value { return i } } return -1 }
Alternative pour les tranches d'octets
Si votre tranche contient des éléments d'octet, la fonction bytes.IndexByte peut être utilisée pour trouver la position d'une valeur d'octet spécifique. Sa syntaxe est la suivante :
func IndexByte(s \[\]byte, c byte) int
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!