golang KeyValue

package libs

import (
	"bytes"
	"net/url"
	"sort"
)

type kv struct {
	k string
	v string
}

type KeyValue struct {
	u url.Values
	s []kv
}

func NewKeyValue() *KeyValue {
	return &KeyValue{
		u: make(map[string][]string),
		s: make([]val, 0, 2),
	}
}

// Get gets the first value associated with the given key.
// If there are no values associated with the key, Get returns
// the empty string. To access multiple values, use the map
// directly.
func (s *KeyValue) Get(key string) string {
	vs := s.u[key]
	if len(vs) == 0 {
		return ""
	}
	return vs[0]
}

// Set sets the key to value. It replaces any existing
func (s *KeyValue) Set(key, value string) *Values {
	s.u[key] = []string{value}
	s.s = append(s.s, kv{k: key, v: value})
	return s
}

//Encode 参数编号返回编码后的字符串
func (s *KeyValue) Encode() string {
	return s.u.Encode()
}

//Sort 对参数进行参数
func (s *KeyValue) Sort() *Values {
	sort.Slice(s.s, 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值