You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
968 B

## compact
### Instructions
5 years ago
Écrire une fonction `Compact` qui prend un pointeur sur slice de `string` comme paramètre.
5 years ago
Cette fonction doit:
5 years ago
- Retourner le nombre d'éléments avec des valeurs non-`nil`
5 years ago
5 years ago
- Comprimer, c.à.d., effacer les éléments qui ont une valeur `nil` dans la slice.
### Fonction attendue
```go
5 years ago
func Compact(ptr *[]string) int {
}
```
### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction :
```go
package main
5 years ago
import (
"fmt"
piscine ".."
)
const N = 6
func main() {
5 years ago
arr := make([]string, N)
arr[0] = "a"
arr[2] = "b"
arr[4] = "c"
for _, v := range arr {
fmt.Println(v)
}
5 years ago
fmt.Println("Size after compacting:", piscine.Compact(&arr))
for _, v := range arr {
fmt.Println(v)
}
}
```
Et son résultat :
```console
student@ubuntu:~/[[ROOT]]/test$ go build
student@ubuntu:~/[[ROOT]]/test$ ./test
5 years ago
a
b
c
Size after compacting: 3
a
b
c
student@ubuntu:~/[[ROOT]]/test$
```