go - 如何更改go数组中的值?

标签 go

这是我想做的

for _,p := range *players {
        for _,tp := range *tournamentPlayers{
            if p.Id==tp.PlayerId {
                p.Points += tp.Prize

            }
        }
    }

白白得救之后

最佳答案

当您对数组进行范围时,第二个变量将是该值的副本。因此,当您修改它时,实际上并没有修改存储在数组中的值。

你需要使用索引:

for i := range *players {
        for _,tp := range *tournamentPlayers{
            if players[i].Id==tp.PlayerId {
                players[i].Points += tp.Prize

            }
        }
    }

您可以在 spec 中找到更多信息.

关于go - 如何更改go数组中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49681788/

相关文章:

去 : cors - Http Status 503 - No 'Access-Control-Allow-Origin' header is present on the requested resource

go - 需要来自 zip 存档条目的 io.ReaderAt(该条目是一个嵌套的 .xlsx 文件)

go - 在 JSON API 调用上禁用 CSRF

Golang如何在将结构编码(marshal)到yaml时避免在键 "on"上双引号

http - 当我尝试使用 BindQuery 方法时,错误 : reflect. flag.mustBeAssignable 使用不可寻址的值

parsing - 在 Golang 中解析格式化字符串

go - 无论如何在ansi控制台上打印斜体字体?

performance - go rpc、http 或 websockets,这是将许多小块数据从一个服务器重复传输到另一个服务器的最快方式

go - tls : no renegotiation error on HTTP request

go - 在 Go 中更新日志文件时读取它们