Une manière plus courte de transformer les éléments de liste dans go
dans python, l'application d'une fonction à chaque élément dans une liste peut être réalisée à l'aide de la compréhension de la liste. Cependant, dans GO, une approche plus verbeuse impliquant une boucle est couramment utilisée. Cette question explore une façon concise d'accomplir cette opération dans Go.
solution python:
list = [1,2,3] str = ', '.join(multiply(x, 2) for x in list)
go solution (original):
list := []int{1,2,3} list2 := []int for _,x := range list { list2 := append(list2, multiply(x, 2)) } str := strings.Join(list2, ", ")
Solution courante go (Go 1.18):
func Map[T, V any](ts []T, fn func(T) V) []V { result := make([]V, len(ts)) for i, t := range ts { result[i] = fn(t) } return result }
usage:
input := []int{4, 5, 3} outputInts := Map(input, func(item int) int { return item 1 }) outputStrings := Map(input, func(item int) string { return fmt.Sprintf("Item:%d", item) })
Cette fonction de carte offre un moyen concis et générique d'appliquer une fonction à une liste de tout type, résultant en une nouvelle liste de valeurs transformées.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3