1. ホーム
  2. go

[解決済み] GolangでMkdirを使ってネストされたディレクトリを作成するには?

2022-08-19 03:52:32

質問

dir1/dir2/dir3' のような Go 実行ファイルから、ネストされたディレクトリのセットを作成しようとしています。私は、この行で単一のディレクトリを作成することに成功しました。

os.Mkdir("." + string(filepath.Separator) + c.Args().First(),0777);

しかし、そのディレクトリの中にあらかじめ決められたネストされたディレクトリのセットを作成するアプローチについては、まったくわかりません。

どのように解決するのですか?

os.Mkdir は、1つのディレクトリを作成するために使用されます。フォルダのパスを作成する場合は、代わりに

os.MkdirAll(folderPath, os.ModePerm)

囲碁のドキュメント

<ブロッククオート

func MkdirAll(path string, perm FileMode) error

MkdirAll は path という名前のディレクトリを、必要な親と一緒に作成し、nil を返すか、さもなければエラーを返します。パーミッションビットの perm は、MkdirAll が作成するすべてのディレクトリに使用される。path が既にディレクトリである場合、MkdirAll は何もせず、nil を返します。

編集してください。

を正しく使用するように更新しました。 os.ModePerm の代わりに

ファイルパスの連結には、パッケージの path/filepath を使用します。