简体   繁体   English

按数组的值切片

[英]Slice by value of array

How to slice array by id如何按 id 对数组进行切片

{
  "id": 1
  "status": "available" 
  "snapshot_id" : 1
  ...
},
{
   "id": 2
   "status" "non available"
   "snapshot_id" : 0
   ...
}

I didn't take it from Database or something.我没有从数据库或其他东西中获取它。 Need to slice by value like this but doesn't come from DB需要像这样按值切片但不是来自数据库

o.QueryTable("Ticket").Filter("Status", "Pending").All(&newticket)

To create a sub-array from existing array based on value parameters like id , status and snapshot_id根据idstatussnapshot_id等值参数从现有数组创建子数组

I have reproduced your scenario and sliced the array based on value parameters我已经重现了您的场景并根据值参数对数组进行了切片

package main

import (
    "fmt"
)

type Ticket struct {
    id          int
    status      string
    snapshot_id int
}

func main() {

    var newTicket []Ticket

    TicketArr := []Ticket{{1, "available", 1}, {2, "n.a", 2}, {3, "available", 30}}

    for _, v := range TicketArr {

        if v.status == "available" {

            newTicket = append(newTicket, v)
        }
    }

    fmt.Println("newTicket", newTicket)

}

Output:输出:

newTicket [{1 available 1} {3 available 30}]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM