mirror of
https://gitclone.com/github.com/MetaCubeX/Clash.Meta
synced 2025-04-25 20:58:04 +08:00
28 lines
470 B
Go
28 lines
470 B
Go
package util
|
|
|
|
import (
|
|
"strings"
|
|
)
|
|
|
|
type StringMap map[string]string
|
|
|
|
func (s StringMap) ToBytes() []byte {
|
|
var lines []string
|
|
for k, v := range s {
|
|
lines = append(lines, k+"="+v)
|
|
}
|
|
return []byte(strings.Join(lines, "\n"))
|
|
}
|
|
|
|
func StringMapFromBytes(b []byte) StringMap {
|
|
var m = make(StringMap)
|
|
var lines = strings.Split(string(b), "\n")
|
|
for _, line := range lines {
|
|
v := strings.SplitN(line, "=", 2)
|
|
if len(v) == 2 {
|
|
m[v[0]] = v[1]
|
|
}
|
|
}
|
|
return m
|
|
}
|