mirror of
https://github.com/astaxie/beego.git
synced 2025-06-12 08:10:39 +00:00
reduce the slicegrow
This commit is contained in:
@ -50,7 +50,8 @@ type BeegoInput struct {
|
||||
// NewInput return BeegoInput generated by Context.
|
||||
func NewInput() *BeegoInput {
|
||||
return &BeegoInput{
|
||||
pvalues: make([]string, maxParam),
|
||||
pnames: make([]string, 0, maxParam),
|
||||
pvalues: make([]string, 0, maxParam),
|
||||
data: make(map[interface{}]interface{}),
|
||||
}
|
||||
}
|
||||
@ -60,6 +61,7 @@ func (input *BeegoInput) Reset(ctx *Context) {
|
||||
input.Context = ctx
|
||||
input.CruSession = nil
|
||||
input.pnames = input.pnames[:0]
|
||||
input.pvalues = input.pvalues[:0]
|
||||
input.data = nil
|
||||
input.RequestBody = []byte{}
|
||||
}
|
||||
@ -264,7 +266,7 @@ func (input *BeegoInput) ParamsLen() int {
|
||||
// Param returns router param by a given key.
|
||||
func (input *BeegoInput) Param(key string) string {
|
||||
for i, v := range input.pnames {
|
||||
if v == key {
|
||||
if v == key && i <= len(input.pvalues) {
|
||||
return input.pvalues[i]
|
||||
}
|
||||
}
|
||||
@ -273,7 +275,7 @@ func (input *BeegoInput) Param(key string) string {
|
||||
|
||||
// SetParam will set the param with key and value
|
||||
func (input *BeegoInput) SetParam(key, val string) {
|
||||
input.pvalues[len(input.pnames)] = val
|
||||
input.pvalues = append(input.pvalues, val)
|
||||
input.pnames = append(input.pnames, key)
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user