In most situations, a reference to a slice in Go is unnecessary. The slice itself contains a pointer to the underlying array, so slices passed as arguments to functions or variables set to slices that are properties of structs can modify the elements of the original slice.
However, if you need to add new elements to the slice, the slice is replaced. By using a reference to the slice, structs and out-of-scope slices can be grown.
For a more complete explanation of why references to slices aren't pointless, check out this Medium article.