优化切片内存分配

This commit is contained in:
eatMoreApple 2021-07-31 17:51:41 +08:00
parent c46fb58824
commit 1dab95b4ee
3 changed files with 18 additions and 18 deletions

View File

@ -204,11 +204,11 @@ func (c *Client) SyncCheck(info *LoginInfo, response *WebInitResponse) (*http.Re
params.Add("uin", strconv.Itoa(info.WxUin))
params.Add("deviceid", GetRandomDeviceId())
params.Add("_", strconv.FormatInt(time.Now().Unix(), 10))
var syncKeyStringSlice []string
var syncKeyStringSlice = make([]string, response.SyncKey.Count)
// 将SyncKey里面的元素按照特定的格式拼接起来
for _, item := range response.SyncKey.List {
for index, item := range response.SyncKey.List {
i := fmt.Sprintf("%d_%d", item.Key, item.Val)
syncKeyStringSlice = append(syncKeyStringSlice, i)
syncKeyStringSlice[index] = i
}
syncKey := strings.Join(syncKeyStringSlice, "|")
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("lang", "zh_CN")
path.RawQuery = params.Encode()
addMemberList := make([]string, 0)
for _, friend := range friends {
addMemberList = append(addMemberList, friend.UserName)
addMemberList := make([]string, len(friends))
for index, friend := range friends {
addMemberList[index] = friend.UserName
}
content := map[string]interface{}{
"ChatRoomName": group.UserName,
@ -609,9 +609,9 @@ func (c *Client) RemoveMemberFromChatRoom(req *BaseRequest, info *LoginInfo, gro
params.Add("fun", "delmember")
params.Add("lang", "zh_CN")
params.Add("pass_ticket", info.PassTicket)
delMemberList := make([]string, 0)
for _, friend := range friends {
delMemberList = append(delMemberList, friend.UserName)
delMemberList := make([]string, len(friends))
for index, friend := range friends {
delMemberList[index] = friend.UserName
}
content := map[string]interface{}{
"ChatRoomName": group.UserName,

View File

@ -120,10 +120,10 @@ type UserDetailItem struct {
type UserDetailItemList []UserDetailItem
func NewUserDetailItemList(members Members) UserDetailItemList {
var list UserDetailItemList
for _, member := range members {
var list = make(UserDetailItemList, len(members))
for index, member := range members {
item := UserDetailItem{UserName: member.UserName, EncryChatRoomId: member.EncryChatRoomId}
list = append(list, item)
list[index] = item
}
return list
}

12
user.go
View File

@ -394,18 +394,18 @@ func (s *Self) forwardMessage(msg *SentMessage, users ...*User) error {
// 转发给好友
func (s *Self) ForwardMessageToFriends(msg *SentMessage, friends ...*Friend) error {
var users []*User
for _, friend := range friends {
users = append(users, friend.User)
var users = make([]*User, len(friends))
for index, friend := range friends {
users[index] = friend.User
}
return s.forwardMessage(msg, users...)
}
// 转发给群组
func (s *Self) ForwardMessageToGroups(msg *SentMessage, groups ...*Group) error {
var users []*User
for _, group := range groups {
users = append(users, group.User)
var users = make([]*User, len(groups))
for index, group := range groups {
users[index] = group.User
}
return s.forwardMessage(msg, users...)
}