Arrays 在Golang中单独访问数组元素
我知道这是非常基本的,但我想知道如何单独访问元素,Sourceposition和currentarray的值不断变化,此操作是递归函数的一部分 例如:Arrays 在Golang中单独访问数组元素,arrays,loops,go,Arrays,Loops,Go,我知道这是非常基本的,但我想知道如何单独访问元素,Sourceposition和currentarray的值不断变化,此操作是递归函数的一部分 例如: var Sourceposition int var currentarray [8]int for j:=0;j<len(currentarray);j++ { if currentarray[j]==0{ Sourceposition = currentarray[j+1]} fmt.Pritnln(Sourceposit
var Sourceposition int
var currentarray [8]int
for j:=0;j<len(currentarray);j++
{
if currentarray[j]==0{
Sourceposition = currentarray[j+1]}
fmt.Pritnln(Sourceposition)
}
//random statements
var Sourceposition int
var currentarray[8]int
对于j:=0;j在上一次迭代中(当j==len(currentarray)-1
是7时),您正在访问currentarray[7]
,如果该值等于零,则尝试访问currentarray[8]
,该值超出[8]int
的范围
修复取决于预期的行为,可能是您需要将循环不变量修复为j
,或者,如果您希望以循环方式处理数组,您可能希望在上一次迭代(当j==len时)执行Sourceposition=currentary[(j+1)%len(currentary)]
(currentarray)-1
即7)您正在访问currentarray[7]
,如果该值等于零,则尝试访问currentarray[8]
,该值超出[8]int
的范围
修复取决于预期的行为,可能需要将循环不变量修复为j
,或者,如果希望以循环方式处理数组,可能需要执行Sourceposition=currentary[(j+1)%len(currentary)]
,这是我的代码,我得到了这个索引超出范围的错误,我不明白为什么,在我之前的问题中我提到了我正在研究的内容,如果你能帮我的话,那就太好了。@Roman Khimov,这是我的代码,我得到了这个索引超出范围的错误,我不明白为什么,在我之前的问题中我提到了我正在研究的内容如果你能帮上忙,那就太好了。@Roman Khimov