优化切片内存分配
This commit is contained in:
parent
c46fb58824
commit
1dab95b4ee
18
client.go
18
client.go
@ -204,11 +204,11 @@ func (c *Client) SyncCheck(info *LoginInfo, response *WebInitResponse) (*http.Re
|
|||||||
params.Add("uin", strconv.Itoa(info.WxUin))
|
params.Add("uin", strconv.Itoa(info.WxUin))
|
||||||
params.Add("deviceid", GetRandomDeviceId())
|
params.Add("deviceid", GetRandomDeviceId())
|
||||||
params.Add("_", strconv.FormatInt(time.Now().Unix(), 10))
|
params.Add("_", strconv.FormatInt(time.Now().Unix(), 10))
|
||||||
var syncKeyStringSlice []string
|
var syncKeyStringSlice = make([]string, response.SyncKey.Count)
|
||||||
// 将SyncKey里面的元素按照特定的格式拼接起来
|
// 将SyncKey里面的元素按照特定的格式拼接起来
|
||||||
for _, item := range response.SyncKey.List {
|
for index, item := range response.SyncKey.List {
|
||||||
i := fmt.Sprintf("%d_%d", item.Key, item.Val)
|
i := fmt.Sprintf("%d_%d", item.Key, item.Val)
|
||||||
syncKeyStringSlice = append(syncKeyStringSlice, i)
|
syncKeyStringSlice[index] = i
|
||||||
}
|
}
|
||||||
syncKey := strings.Join(syncKeyStringSlice, "|")
|
syncKey := strings.Join(syncKeyStringSlice, "|")
|
||||||
params.Add("synckey", syncKey)
|
params.Add("synckey", syncKey)
|
||||||
@ -587,9 +587,9 @@ func (c *Client) AddMemberIntoChatRoom(req *BaseRequest, info *LoginInfo, group
|
|||||||
params.Add("pass_ticket", info.PassTicket)
|
params.Add("pass_ticket", info.PassTicket)
|
||||||
params.Add("lang", "zh_CN")
|
params.Add("lang", "zh_CN")
|
||||||
path.RawQuery = params.Encode()
|
path.RawQuery = params.Encode()
|
||||||
addMemberList := make([]string, 0)
|
addMemberList := make([]string, len(friends))
|
||||||
for _, friend := range friends {
|
for index, friend := range friends {
|
||||||
addMemberList = append(addMemberList, friend.UserName)
|
addMemberList[index] = friend.UserName
|
||||||
}
|
}
|
||||||
content := map[string]interface{}{
|
content := map[string]interface{}{
|
||||||
"ChatRoomName": group.UserName,
|
"ChatRoomName": group.UserName,
|
||||||
@ -609,9 +609,9 @@ func (c *Client) RemoveMemberFromChatRoom(req *BaseRequest, info *LoginInfo, gro
|
|||||||
params.Add("fun", "delmember")
|
params.Add("fun", "delmember")
|
||||||
params.Add("lang", "zh_CN")
|
params.Add("lang", "zh_CN")
|
||||||
params.Add("pass_ticket", info.PassTicket)
|
params.Add("pass_ticket", info.PassTicket)
|
||||||
delMemberList := make([]string, 0)
|
delMemberList := make([]string, len(friends))
|
||||||
for _, friend := range friends {
|
for index, friend := range friends {
|
||||||
delMemberList = append(delMemberList, friend.UserName)
|
delMemberList[index] = friend.UserName
|
||||||
}
|
}
|
||||||
content := map[string]interface{}{
|
content := map[string]interface{}{
|
||||||
"ChatRoomName": group.UserName,
|
"ChatRoomName": group.UserName,
|
||||||
|
6
items.go
6
items.go
@ -120,10 +120,10 @@ type UserDetailItem struct {
|
|||||||
type UserDetailItemList []UserDetailItem
|
type UserDetailItemList []UserDetailItem
|
||||||
|
|
||||||
func NewUserDetailItemList(members Members) UserDetailItemList {
|
func NewUserDetailItemList(members Members) UserDetailItemList {
|
||||||
var list UserDetailItemList
|
var list = make(UserDetailItemList, len(members))
|
||||||
for _, member := range members {
|
for index, member := range members {
|
||||||
item := UserDetailItem{UserName: member.UserName, EncryChatRoomId: member.EncryChatRoomId}
|
item := UserDetailItem{UserName: member.UserName, EncryChatRoomId: member.EncryChatRoomId}
|
||||||
list = append(list, item)
|
list[index] = item
|
||||||
}
|
}
|
||||||
return list
|
return list
|
||||||
}
|
}
|
||||||
|
12
user.go
12
user.go
@ -394,18 +394,18 @@ func (s *Self) forwardMessage(msg *SentMessage, users ...*User) error {
|
|||||||
|
|
||||||
// 转发给好友
|
// 转发给好友
|
||||||
func (s *Self) ForwardMessageToFriends(msg *SentMessage, friends ...*Friend) error {
|
func (s *Self) ForwardMessageToFriends(msg *SentMessage, friends ...*Friend) error {
|
||||||
var users []*User
|
var users = make([]*User, len(friends))
|
||||||
for _, friend := range friends {
|
for index, friend := range friends {
|
||||||
users = append(users, friend.User)
|
users[index] = friend.User
|
||||||
}
|
}
|
||||||
return s.forwardMessage(msg, users...)
|
return s.forwardMessage(msg, users...)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 转发给群组
|
// 转发给群组
|
||||||
func (s *Self) ForwardMessageToGroups(msg *SentMessage, groups ...*Group) error {
|
func (s *Self) ForwardMessageToGroups(msg *SentMessage, groups ...*Group) error {
|
||||||
var users []*User
|
var users = make([]*User, len(groups))
|
||||||
for _, group := range groups {
|
for index, group := range groups {
|
||||||
users = append(users, group.User)
|
users[index] = group.User
|
||||||
}
|
}
|
||||||
return s.forwardMessage(msg, users...)
|
return s.forwardMessage(msg, users...)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user