package stringslice import "gitlab.com/evatix-go/core/constants" // SafeIndexes get safe indexes slice based on indexes given // // Reference : https://play.golang.org/p/uKLpK8go0lh func SafeIndexes(slice []string, indexes ...int) []string { lastIndex := len(slice) - 1 requestLength := len(indexes) responseSlice := MakeLen(requestLength) if lastIndex < constants.Zero { return responseSlice } for i := 0; i < requestLength; i++ { index := indexes[i] if index > lastIndex || index < 0 { continue } responseSlice[i] = slice[index] } return responseSlice }