DRYな備忘録

Don't Repeat Yourself.

【Go言語】画像ファイルをbase64エンコード文字列にする、とその逆

package main

import (
    "encoding/base64"
    "io/ioutil"
    "os"
)

func main() {
    f, err := os.Open("./hoge.png")
    if err != nil {
        panic(err)
    }
    defer f.Close()

    b, _ := ioutil.ReadAll(f)

    out, _ := os.Create("out")
    base64.NewEncoder(base64.StdEncoding, out).Write(b)
}

その逆

func main() {
    f, err := os.Open("./hoge.png")
    if err != nil {
        panic(err)
    }
    defer f.Close()

    b, _ := ioutil.ReadAll(f)

    out, _ := os.Create("out")
    base64.NewEncoder(base64.StdEncoding, out).Write(b)
+
+   newfile, _ := os.Create("fuga.png")
+   newfile.Write(b)
}

DRY