я сделаю так:
                  
                  
                  type Request struct {
                  
                  
                    SomeKey  string   `json:"key"`
                  
                  
                    ArrayKey []string `json:"array_key"`
                  
                  
                  }
                  
                  
                  
                  
                  
                  func Handler(ctx *fasthtp.RequestCtx) {
                  
                  
                    req := &Request{}
                  
                  
                    json.Unmarshal(ctx.PostBody(), req)
                  
                  
                    ...
                  
                  
                  }
                  
                  
                  то в req.ArrayKey у меня будет лежать слайс или массив?
                  
                  
                  
                  
                  
                  И по теме: как понять, что в переменной лежит слайс, а не массив?
                  
                  
                
У массива определен размер изначально, если у вас [3]string, то это массив, если []stringт слайс
если ArrayKey объявлен как слайс, то он и будет слайсом. Чтобы был массив, нужно указать длину, т.е. [10]string, но кто знает сколько придёт значений.
Обсуждают сегодня