под слайс из двумерного слайса, у меня есть позиция необходимая, я хочу взять слайс + и -1 по X,Y. bar := grid[0:2][0:3] так не работает. Мне создавать пустой и вставлять все необходимые в двух циклах или как то можно иначе?
Я так понимаю, grid[0:2] - это всё ещё [][]T, т.е. второе срезание тоже по х идёт. Думаю, можно одним циклом, в котором берутся нужные срезы из каждой строки (типа grid[i][0:3] доставать).
func makeSlice(array [][]int, x, y int) [][]int { x = x - 1 y = y - 1 bar := array[:0][x : x+3] for i, item := range bar { bar[i] = item[y : y+3] } return bar } как-то так вышло у меня
ну во-первых ты изменяешь исходные данные
bar:=array[:0][x:x+3]?
ну array[:0] это пустой слайс так то но был бы он не пустой - ты бы изменял оригинальный слайс
Обсуждают сегодня