Как создать срез из массива не передавая его по ссылке?
package main

import (
	"fmt"
)

func main() {
	arr := [5]float64{1, 2, 3, 4, 5}
	i := 3
	x := append([]float64{}, arr[:i]...)
	x[2] = 42
	fmt.Println(x)
	fmt.Println(arr)
}
https://play.golang.org/p/L5jQgS1_M0j
Советую почитать, много интересного по слайсам есть https://github.com/golang/go/wiki/SliceTricks
package main

import (
	"fmt"
)

func main() {
	arr := [5]float64{1, 2, 3, 4, 5}
	i := 3
	x := append([]float64{}, arr[:i]...)
	x[2] = 42
	fmt.Println(x)
	fmt.Println(arr)
}
https://play.golang.org/p/L5jQgS1_M0j
Советую почитать, много интересного по слайсам есть https://github.com/golang/go/wiki/SliceTricks