"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > GO Language List Elements Concis Techniques de conversion

GO Language List Elements Concis Techniques de conversion

Publié le 2025-04-17
Parcourir:499

How to Transform List Elements Concisely in Go?

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.

Dernier tutoriel Plus>

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