任务是编写一个函数,返回元素的所有邻居.对角线元素不被视为邻居.
一般来说,问题已经解决,但如果元素落在矩阵之外,编译器会生成运行时错误:索引超出范围[-1].现在我想做一个条件,排除矩阵之外的数据.你能告诉我这种情况会是什么样子吗?我已经try 过这样的方法:如果element=-1,那么从响应中删除element.但它不起作用.
package main
import "fmt"
func Input(y, x int) []int {
matrix := [][]int{
[]int{0, 2, 3},
[]int{2, 3, 1},
[]int{8, 7, 4},
[]int{3, 2, 1},
}
k := []int{matrix[y+1][x], matrix[y-1][x], matrix[y][x+1], matrix[y][x-1]}
for _, z := range k {
if z == -1 { //error
return append(k[z:], k[:z-1]...)
}
}
return k
}
func main() {
fmt.Println(Input(0, 0))
}