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

25 lines
647 B
Go
Raw Normal View History

2019-03-04 20:30:18 +03:00
package api
2019-08-18 12:59:50 +03:00
// The original temperatures slice.
2019-03-04 20:30:18 +03:00
var temps = []int{5, 10, 3, 25, 45, 80, 90}
// Read returns a range of temperature readings beginning from
// the `start` until to the `stop`.
func Read(start, stop int) []int {
2019-03-05 23:49:54 +03:00
//
2019-08-18 12:59:50 +03:00
// This third index prevents the clients of this package from
// overwriting the original temps slice's backing array. It
// limits the capacity of the returned slice. See the
// full slice expressions lecture.
// ^
// |
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
}
// All returns all the temperature readings
func All() []int {
return temps
}