gitech

Форк
0
/
pack.go 
33 строки · 695.0 Байт
1
// Copyright 2023 The Gitea Authors. All rights reserved.
2
// SPDX-License-Identifier: MIT
3

4
package util
5

6
import (
7
	"bytes"
8
	"encoding/gob"
9
)
10

11
// PackData uses gob to encode the given data in sequence
12
func PackData(data ...any) ([]byte, error) {
13
	var buf bytes.Buffer
14
	enc := gob.NewEncoder(&buf)
15
	for _, datum := range data {
16
		if err := enc.Encode(datum); err != nil {
17
			return nil, err
18
		}
19
	}
20
	return buf.Bytes(), nil
21
}
22

23
// UnpackData uses gob to decode the given data in sequence
24
func UnpackData(buf []byte, data ...any) error {
25
	r := bytes.NewReader(buf)
26
	enc := gob.NewDecoder(r)
27
	for _, datum := range data {
28
		if err := enc.Decode(datum); err != nil {
29
			return err
30
		}
31
	}
32
	return nil
33
}
34

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.