Go更新切片迭代错误“不支持索引”

我正在尝试遍历切片值并更新一个或多个值,通过索引访问它或遍历它们。然后我有以下问题。


package main


import "fmt"


type Member struct {

    Name, Surname string

    Age           int

}

type Members []Member


func main() {

    members1 := Members{

        {"Bob", "Doe", 30},

        {"Jack", "Doe", 30},

        {"John", "Doe", 30},

    }

    members1.ModifyName()

    members1.ModifyAllNames1()

    members1.ModifyAllNames2()

    fmt.Println(members1)

}


func (members *Members) ModifyName() {


    *members[0].Name = "-"

}


func (members *Members) ModifyAllNames1() {


    for i := 0; i < len(*members); i++ {

        *members[i].Name = "-"

    }

}


func (members *Members) ModifyAllNames2() {


    for _, m := range *members {

        m.Name = "-"

    }

}   

然后我收到以下错误:


invalid operation: members[0] (type *Members does not support indexing)

invalid operation: members[i] (type *Members does not support indexing)


慕村9548890
浏览 302回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go