diff --git a/solutions/go/card-tricks/3/card_tricks.go b/solutions/go/card-tricks/3/card_tricks.go new file mode 100644 index 0000000..fa53d7e --- /dev/null +++ b/solutions/go/card-tricks/3/card_tricks.go @@ -0,0 +1,34 @@ +package cards + +func FavoriteCards() []int { + return []int{2,6,9} +} + +func GetItem(slice []int, index int) int { + if index < 0 || index >= len(slice) { + return -1 + } + return slice[index] +} + +func SetItem(slice []int, index, value int) []int { + if index < 0 || index >= len(slice) { + return append(slice, value) + } + + slice[index] = value + return slice +} + +func PrependItems(slice []int, values ...int) []int { + slice = append(values, slice...) + return slice +} + +func RemoveItem(slice []int, index int) []int { + if index < 0 || index >= len(slice) { + return slice + } + + return append(slice[:index], slice[index+1:]...) +}