質問: ファイルに[]byteで文字を何度か書き込みたいのですが、調べた方法で行うと、前回書き込んだ文字列が消えて新しい文字列に上書きされてしまいます。そうならないように追記する書き込み方はありますか? 今の私のコードは以下のようになっています。 この状態では上書きされてしまいます。 ``` str := "I am_super man" fileWrite(str) func fileWrite(str string) { keyAndValue := []byte(str + "\n") //文字列を[]byteにキャスト ioutil.WriteFile("words.txt", keyAndValue, 0666) //書き込み } ``` すでに描いてある文字列を全部読み込んでからその末尾に付け足して、上書き書き込みというのならできそうですが....そんな大掛かりなことしないといけないのかな....と思っています。 どうかご教示ください。
回答: os.O_APPEND を使って下さい。 ``` f, err := os.OpenFile(filename, os.O_APPEND|os.O_WRONLY, 0600) if err != nil { log.Fatal(err) } defer f.Close() fmt.Fprintln(f, "テラテイル") ```