Для копирования элементов слайса используется встроенная функция copy(dst, src). Она копирует элементы из src в dst и возвращает количество скопированных элементов (минимум из len(dst) и len(src)). Присваивание b = a не копирует данные - оба слайса указывают на один массив.
src := []int{1, 2, 3}
dst := make([]int, len(src))
n := copy(dst, src)
fmt.Println(dst, n) // [1 2 3] 3