public/subjects/slice
lee 8ffc65ce3d chore(exam): remove all folders that contained "-exam" suffix & add the main.go to exercises that needed it 2024-01-04 09:36:37 +00:00
..
README.md chore(exam): remove all folders that contained "-exam" suffix & add the main.go to exercises that needed it 2024-01-04 09:36:37 +00:00
main.go chore(exam): remove all folders that contained "-exam" suffix & add the main.go to exercises that needed it 2024-01-04 09:36:37 +00:00

README.md

slice

Instructions

The function receives a slice of strings and one or more integers, and returns a slice of strings. The returned slice is part of the received one but cut from the position indicated in the first int, until the position indicated by the second int.

In case there only exists one int, the resulting slice begins in the position indicated by the int and ends at the end of the received slice.

The integers can be negative.

Expected function

func Slice(a []string, nbrs... int) []string{

}

Usage

Here is a possible program to test your function :

package main

import (
    "fmt"
    "piscine"
)

func main(){
    a := []string{"coding", "algorithm", "ascii", "package", "golang"}
    fmt.Printf("%#v\n", piscine.Slice(a, 1))
    fmt.Printf("%#v\n", piscine.Slice(a, 2, 4))
    fmt.Printf("%#v\n", piscine.Slice(a, -3))
    fmt.Printf("%#v\n", piscine.Slice(a, -2, -1))
    fmt.Printf("%#v\n", piscine.Slice(a, 2, 0))
}
$ go run .
[]string{"algorithm", "ascii", "package", "golang"}
[]string{"ascii", "package"}
[]string{"ascii", "package", "golang"}
[]string{"package"}
[]string(nil)