ツールを作る際、何かと必要な一時ファイル。
GO言語では、io.ioutilを使ってつくる事ができます。
実際のところ
一時ファイルを作る場合はioutil.TempFileを使います
ioutil - The Go Programming Language
公式サンプルを元に、一通りの挙動をするスクリプトは以下の通り。
package main import ( "fmt" "io/ioutil" "log" "os" ) func main() { content := []byte("temporary file's content") tmpfile, err := ioutil.TempFile("", "example") if err != nil { log.Fatal(err) } defer os.Remove(tmpfile.Name()) defer tmpfile.Close() if _, err := tmpfile.Write(content); err != nil { log.Fatal(err) } fpath := tmpfile.Name() fmt.Println(fpath) if f, err := ioutil.ReadFile(fpath); err != nil { log.Fatal(err) } else { fmt.Println(string(f)) } }
ファイルを読み込む際、どこかの莫迦のようにTempFileを生成した変数でReadFile関数を読まないようにして下さいね(白目
実行してみると、都度都度ファイルを作ってるらしい事がわかります
$ go run ioutilTest.go /var/folders/02/546lp7s57l93kzydhj2dtyzr0000gn/T/example782409817 temporary file's content $ go run ioutilTest.go /var/folders/02/546lp7s57l93kzydhj2dtyzr0000gn/T/example076921445 temporary file's content