más corta para transformar los elementos de la lista en Go
en Python, la aplicación de una función en cada elemento en una lista se puede lograr utilizando comprensiones de lista. Sin embargo, en GO, se usa comúnmente un enfoque más detallado que involucra un bucle. Esta pregunta explora una forma concisa de lograr esta operación en GO.
Python Solution:
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, ", ")
shorter Go Solution (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 }
use:
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) })
Esta función de mapa ofrece una forma concisa y genérica de aplicar una función a una lista de cualquier tipo, lo que resulta en una nueva lista de valores transformados.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3