Package for encoding/decoding data sequences.
$ go get github.com/epiqm/seq
Marshal object to JSON text and unmarshal from JSON text string to custom object.
// main.go
package main
import (
"fmt"
"github.com/epiqm/seq"
)
func main() {
// Get MD5 hash from text string
hash := seq.Hash("text string")
fmt.Println(hash)
// a278c7ab35780d23f34c75dd23278b4b
}
hash := seq.Hash("text string")
fmt.Println(hash)
// a278c7ab35780d23f34c75dd23278b4b
obj := map[string]interface{}{
"username": "Max",
"age": 27,
"hometown": "Kiev",
}
json := seq.Marshal(obj)
fmt.Println(json)
// Output:
// {"age":27,"hometown":"Kiev","username":"Max"}
// Author example object for unmarshal
type Author struct {
Username string `json:"username"`
Hometown string `json:"hometown"`
Age int `json:"age"`
}
var newObj Author
seq.Unmarshal(json, &newObj)
fmt.Println(newObj.Username)
// Output:
// Max
key := ""
text := "A message for encoding."
s, err := seq.Encode(text, key)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(s)
// Output:
// QSBtZXNzYWdlIGZvciBlbmNvZGluZy4=
key := ""
text := "QSBtZXNzYWdlIGZvciBlbmNvZGluZy4="
s, err := seq.Decode(text, key)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(s)
// Output:
// A message for encoding.
fsize, err := seq.GetFileSize("testing.txt")
if err != nil {
fmt.Println(err)
return
}
err := seq.CreateFile("testing.txt")
if err != nil {
fmt.Println(err)
return
}
err := seq.WriteFile("testing.txt", "A testing text file.")
if err != nil {
fmt.Println(err)
return
}
text, err := seq.ReadFile("testing.txt")
if err != nil {
fmt.Println(err)
return
}
fmt.Println(text)
// Output:
// A testing text file.
err := seq.CopyFile("testing.txt", "testing.txt.copy")
if err != nil {
fmt.Println(err)
return
}
err := seq.MoveFile("testing.txt.copy", "testing.txt")
if err != nil {
fmt.Println(err)
return
}
err := seq.EncodeFile("testing.txt", "")
if err != nil {
fmt.Println(err)
return
}
err := seq.DecodeFile("testing.txt", "")
if err != nil {
fmt.Println(err)
return
}
err := seq.RmFile("testing.txt")
if err != nil {
fmt.Println(err)
return
}
err := seq.CreateDir("newdir")
if err != nil {
fmt.Println(err)
return
}
files, err := seq.Ls("newdir")
if err != nil {
fmt.Println(err)
return
}
err := seq.RmDir("newdir")
if err != nil {
fmt.Println(err)
return
}
Copyright (c) 2018 Maxim R. All rights reserved.
For feedback or questions <[email protected]>