Goでバッチ処理。system()など叩いてみた

DL https://golang.org/dl/

package main

import "fmt"

func main() {
    fmt.Printf("hello, world\n")
}

を保存して

go run hello.go

としたら実行できた。ruby hello.rb と同じ感じ。systemさえ叩ければいいかなと思い

package main

import "fmt"
import "os/exec"

func main() {
out, err := exec.Command("ls").Output()
fmt.Println(out) // 数値が出力される
fmt.Println(string(out)) // lsの結果が文字列で出力される
fmt.Println(err) // nil
}

これでsystem()は実行できた。GUIは決定版がないようなので、保留。一連のコマンド処理の自動化だとRubyの方が記述量が少なくて楽という印象。APIサーバ作るとかだとGoがいいんだろう。

blog.amedama.jp

その後に上記記事の「自作のプロジェクトを GitHub で管理する」まで読んだ。バイナリ化、パッケージ化して別コードから使う、テスト用コードまで理解した。