我想附加一个指向切片的指针。是否可能..?在Partentnode.children中是一个切片,我想用X作为指针附加它。
https://play.golang.org/p/ghWtxWGOAU
func Tree(Parentnode *Node) {
if IsvisitedNode(Parentnode.currentvalue - 1) {
m := MovesArray[Parentnode.currentvalue-1]
for j := 0; j < 8; j++ {
if m[j] != 0 {
var X *Node
X.parentnode = Parentnode
X.currentvalue = m[j]
if IsvisitedNode(m[j]) {
Parentnode.children = append(Parentnode.children, *X)
Tree(X)
}
}
}
}
}
答案 0 :(得分:1)
你有一个错误。
在主要内容中设置Y.currentvalue = 1
。
然后在Tree
当前值前往64
。
X.currentvalue = m[j]
fmt.Printf("cv: %v\n",X.currentvalue) //walks to 64
if IsvisitedNode(m[j]) {
在IsvisitedNode
中,您针对具有64个索引的visithistory
测试该索引,从而在索引63处停止。 - &gt;索引错误
var visithistory [64]bool
func IsvisitedNode(position int) bool {
if visithistory[position] == true {
如果设置var visithistory [65]bool
,事情就会奏效,但我认为你需要在某种程度上重新考虑逻辑。