Files
learngo/16-slices/exercises/23-limit-the-backing-array-sharing/solution/api/api.go

23 lines
500 B
Go
Raw Normal View History

2019-03-04 20:30:18 +03:00
package api
var temps = []int{5, 10, 3, 25, 45, 80, 90}
2019-08-22 20:00:58 +03:00
// Read returns a slice of elements from the temps slice.
2019-03-04 20:30:18 +03:00
func Read(start, stop int) []int {
2019-03-05 23:49:54 +03:00
//
2019-08-22 20:00:58 +03:00
// The third index prevents the `main()` from
// overwriting the original temps slice's
// backing array. It limits the capacity of the
// returned slice. See the full slice expressions
// lecture for more details.
//
2019-03-04 20:30:18 +03:00
portion := temps[start:stop:stop]
2019-08-18 12:59:50 +03:00
2019-03-04 20:30:18 +03:00
return portion
}
2019-08-22 20:00:58 +03:00
// All returns the temps slice
2019-03-04 20:30:18 +03:00
func All() []int {
return temps
}