gpt4 book ai didi

vector - Go 中是否有像 Java 在其 Vector 类中那样的 vector 包的 removeElement 函数版本?

转载 作者:IT王子 更新时间:2023-10-29 02:24:44 25 4
gpt4 key购买 nike

我正在将一些 Java 代码移植到 Google 的 Go 语言中,并且我转换了所有代码,除了在非常顺利的移植之后我只停留在一个部分上。我的 Go 代码看起来像这样,我正在谈论的部分被注释掉了:

func main() {
var puzzleHistory * vector.Vector;
puzzleHistory = vector.New(0);
var puzzle PegPuzzle;
puzzle.InitPegPuzzle(3,2);
puzzleHistory.Push(puzzle);

var copyPuzzle PegPuzzle;
var currentPuzzle PegPuzzle;

currentPuzzle = puzzleHistory.At(0).(PegPuzzle);
isDone := false;
for !isDone {
currentPuzzle = puzzleHistory.At(0).(PegPuzzle);
currentPuzzle.findAllValidMoves();

for i := 0; i < currentPuzzle.validMoves.Len(); i++ {
copyPuzzle.NewPegPuzzle(currentPuzzle.holes, currentPuzzle.movesAlreadyDone);
copyPuzzle.doMove(currentPuzzle.validMoves.At(i).(Move));
// There is no function in Go's Vector that will remove an element like Java's Vector
//puzzleHistory.removeElement(currentPuzzle);
copyPuzzle.findAllValidMoves();
if copyPuzzle.validMoves.Len() != 0 {
puzzleHistory.Push(copyPuzzle);
}
if copyPuzzle.isSolutionPuzzle() {
fmt.Printf("Puzzle Solved");
copyPuzzle.show();
isDone = true;
}
}
}
}

如果没有可用的版本,我相信没有...有谁知道我将如何自己实现这样的东西?

最佳答案

Vector.Delete( i ) 怎么样?

关于vector - Go 中是否有像 Java 在其 Vector 类中那样的 vector 包的 removeElement 函数版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1802102/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com