【发布时间】:2016-01-16 12:18:13
【问题描述】:
我遇到的问题是我必须访问二维数组中元素[i, j] 的所有八个邻居。
但是,考虑到数组越界的错误,我必须在[i-1, j] 或[i+1, j] 上做很多if else 语句...这对我来说有点冗长。
所以我想知道在 Go 中是否有任何有效的方法来解决这类问题?
喜欢错误捕捉系统?
【问题讨论】:
-
Go 是一种冗长的语言。它只有 4 或 8 次访问,具体取决于您是否要使用那些对角相邻的项目。只需用一个干净直接的条件结构写出来。仍然是 20-30 行的函数,这没什么大不了的。
-
我认为您解决问题的方法有误,您应该知道界限,也许如果您分享一些代码,有人可以提供更好的帮助。
-
唯一有效的方法是最小化所需的边界检查量。但我想你已经想通了。现在如何做到这一点完全取决于您的用例。您是否循环扫描整个阵列(元胞自动机)?或者你是在随机检查元素吗?分享一些代码肯定会有帮助。