Golangでファイルを削除させる

Golang

ファイルの削除は、ファイルを伴った定型的な作業をする場合に使われます。

例えば、ファイルにログデータを保存し、一定期間が経った後にそのファイルを自動的に削除したいというケースで使うことができますね。

本記事では、Golangでファイルを削除する方法について説明します。

os パッケージを使用したファイルの削除

ファイルやディレクトリを削除するためには、Golangのosパッケージをインポートする必要があります。

osパッケージには、Remove()関数とRemoveAll関数が含まれており、これらを使用することで削除処理を行うことができます。

1つのファイルを削除する

osパッケージのRemove関数は、ファイルパスを引数として受け取り、ファイルを削除します。

なお、削除されるのは1つのファイルだけです。

os.Remove("ファイルパス")

以下は、remove()関数の使用したコード例です。(main.goと同階層にtest.txtがあることを想定してます)

package main

import (
	"fmt"
	"os"
)

func main() {
	err := os.Remove("test.txt") // 1つのファイルだけ削除される
	if err != nil {
		fmt.Println(err)
	}
}

ディレクトリを丸ごと削除する

RemoveAll()関数は、パスを完全に削除する関数です。

つまり、ディレクトリ全体とその中にあるすべてのサブディレクトリとファイルを削除します。

構文はRemove()関数と同じです。

os.RemoveAll("ファイルパス")

以下は、Golangでディレクトリを削除するコード例です。(main.goと同階層にtestディレクトリがあることを想定しています)

package main

import (
	"fmt"
	"os"
)

func main() {
	err := os.RemoveAll("test") // delete an entire directory
	if err != nil {
		fmt.Println(err)
	}
}

この関数は、ディレクトリ全体を削除します。

Golangのファイル削除まとめ

ファイルを削除する方法を混同しないように、以下に注意しましょう

  • 1つのファイルを削除する場合はRemove()関数を使用する
  • ディレクトリ全体を削除する場合はRemoveAll()関数を使用する

タイトルとURLをコピーしました