From 08f5146ee9118c71dff45872d6bb399f557a76cf Mon Sep 17 00:00:00 2001 From: Kaamkiya Date: Fri, 28 Mar 2025 22:45:30 -0400 Subject: [PATCH] feat: Add base64 in Go --- archive/g/go/base64-encode-decode.go | 39 ++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 archive/g/go/base64-encode-decode.go diff --git a/archive/g/go/base64-encode-decode.go b/archive/g/go/base64-encode-decode.go new file mode 100644 index 000000000..9f1ae51d5 --- /dev/null +++ b/archive/g/go/base64-encode-decode.go @@ -0,0 +1,39 @@ +package main + +import ( + "encoding/base64" + "fmt" + "os" +) + +func die() { + fmt.Println("Usage: please provide a mode and a string to encode/decode") + os.Exit(1) +} + +func main() { + if len(os.Args) < 3 { + die() + } + + enc := base64.StdEncoding + + if len(os.Args[2]) == 0 { + die() + } + + switch os.Args[1] { + case "encode": + fmt.Println(enc.EncodeToString([]byte(os.Args[2]))) + return + case "decode": + s, err := enc.DecodeString(os.Args[2]) + if err != nil { + die() + } + + fmt.Println(string(s)) + default: + die() + } +}