Maison > Article > développement back-end > Comment obtenir la fonctionnalité de compréhension de liste Python dans Go ?
Équivalent à la compréhension de liste Python dans Go
La compréhension de liste Python fournit un moyen concis de filtrer et de transformer des séquences. Dans Go, la fonction de filtre peut être utilisée pour obtenir des fonctionnalités similaires. Cependant, les boucles for peuvent offrir une approche plus efficace et plus simple.
Pour reproduire la compréhension de la liste Python :
array = [a for a in anotherArray if (some condition)]
Dans Go, vous pouvez utiliser la fonction de filtre suivante :
import ( "fmt" "math" "math/big" ) func main() { anotherArray := []int{1, 2, 3, 4, 5, 6, 7, 8, 9} newArray := filter(anotherArray, func(a int) bool { return a%2 == 0 }) fmt.Println(newArray) // [2 4 6 8] }
La fonction filtre prend deux arguments : la séquence à filtrer et une fonction prédicat qui détermine les éléments à inclure. Il renvoie une tranche contenant uniquement les éléments qui satisfont le prédicat.
Pour des expressions plus complexes, vous pouvez utiliser des fonctions lambda, similaires à l'exemple Python :
min := func() *big.Int { a := big.NewInt(0) return a }() for i := 0; i < n; i++ { for j := i; j < n; j++ { potentialMin := big.NewInt(0) potentialMin.Abs(a[i].Sub(a[i], b[j])) if potentialMin.Cmp(min) == -1 { min = potentialMin } } }
Cependant, le GoDoc pour la bibliothèque de filtres indique que les boucles for sont plus efficaces et préférables au package. Par conséquent, pour des raisons de simplicité et de lisibilité, l'utilisation de boucles for est recommandée.
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!