Aller au contenu principal
U/USELESS·PROGRAMMING

Go : pré-allouer une slice pour éviter les copies

Construire une slice d’entiers avec `make` et `append` en contrôlant longueur et capacité initiale.

Énoncé

Écrire une fonction Go :

func BuildRange(n int) []int
  • Si n <= 0, retourner une slice vide (non nil si vous préférez, mais longueur 0).
  • Sinon, retourner [0, 1, 2, …, n-1] en pré-allouant la capacité avec make([]int, 0, n) puis append dans une boucle (pas de append sur une slice sans capacité réservée au départ).

Exemple

Pour n = 4, résultat attendu : []int{0, 1, 2, 3}.

Proposer une solution

Connectez-vous ou créez un compte pour envoyer votre texte (aucune exécution de code côté serveur).