在Go中表示JSON策略

I would like to Generate this JSON policy:

{"Statement":[{"Resource":"RESOURCE","Condition":{"DateLessThan":{"AWS:EpochTime":EXPIRES}}}]}

The solution I'm showing below produces the following JSON:

{"Statement":{"Resource":"example.com","Condition":{"DateLessThan":{"AWS:EpochTime":"1234543"}}}}

How do I change this so that "Statement": has an array value?

package main 
import ( 
        "json" 
        "fmt" 
) 

type S struct { 
        Statement Statement 
} 

type Statement struct { 
        Resource  string 
        Condition Date 
} 

type Date struct { 
        DateLessThan AWS 
} 

type AWS struct { 
        EpochTime string "AWS:EpochTime" 
} 

func main() { 
        expires := "1234543" 
        resource := "example.com" 
        date := &AWS{EpochTime: expires} 
        date2 := &Date{DateLessThan:*date} 
        reso := &Statement{Resource: resource, Condition: *date2} 
        statement := &S{Statement: *reso} 
        result1, _ := json.Marshal(statement) 
        fmt.Printf(result1) 
} 

Apply the following changes:

type S struct { 
    Statement []Statement 
}
...
    s_array := []Statement{*reso}
    statement := &S{Statement: s_array}

Hopefully that should make it clear: you want a slice of Statement objects, rather than just a single Statement.