猿问

在 Go 如何从结构的切片中删除项目

我有一个包含另一个结构切片的结构。我已经添加了从切片中添加和删除项目的方法,但添加工作删除不是。我是 Go 的新手,所以我无法理解为什么切片重新分配没有反映在结构中


下面是我的代码的简短版本。PlayGoLang 链接:http ://play.golang.org/p/4NnGh3Dtzw


 type BatteryTest struct {

    Name, LocalConf, JdkPath, SysProps, LocalconfPath string

    NumberOfNodes                                     int

    }


    type Server struct {

    Port                                    int

    TestQueue, CompletedTests, RunningTests []BatteryTest

}


    func (this *Server) AddBatteryTest(test BatteryTest) error {    

        this.TestQueue = append(this.TestQueue, test)

        return nil

    }


func (this *Server) TakeBatteryTest() error {

    length := len(this.TestQueue)

    if length == 0 {

        fmt.Println("Len==", 0)

        return errors.New("Queue is empty")

    }


    slice := this.TestQueue

    i := len(this.TestQueue) - 1

    slice = append(slice[:i], slice[i+1:]...)

    return nil

}


紫衣仙女
浏览 142回答 1
1回答

拉风的咖菲猫

您没有分配slice回this.TestQueue
随时随地看视频慕课网APP

相关分类

Go
我要回答