【发布时间】:2016-12-28 16:19:26
【问题描述】:
我想附加一个指向切片的指针。这可能吗..?在 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)
}
}
}
}
}
【问题讨论】:
-
索引
j在切片m中不存在。我会添加一些打印语句,看看哪里出错了.. -
另外,
for j := 0; j < 8; j++ {->m[j]如果您不确定m有8 个或更多索引,则会自找麻烦。更好的是for currval := range m { -
在变量 m 中肯定有 8 个值,包括负位置的零,这就是我包含语句 m[j]!=0 的原因。 @RickyA
标签: variables pointers go slice