第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 Golang 中使用 Mkdir 創(chuàng)建嵌套目錄?

如何在 Golang 中使用 Mkdir 創(chuàng)建嵌套目錄?

Go
寶慕林4294392 2021-09-13 16:17:23
我正在嘗試從 Go 可執(zhí)行文件(例如“dir1/dir2/dir3”)創(chuàng)建一組嵌套目錄。我已經(jīng)成功地用這一行創(chuàng)建了一個目錄:os.Mkdir("." + string(filepath.Separator) + c.Args().First(),0777);但是,我不知道如何在該目錄中創(chuàng)建預(yù)定的嵌套目錄集。
查看完整描述

3 回答

?
幕布斯7119047

TA貢獻(xiàn)1794條經(jīng)驗 獲得超8個贊

os.Mkdir用于創(chuàng)建單個目錄。要創(chuàng)建文件夾路徑,請嘗試使用:

os.MkdirAll(folderPath, os.ModePerm)

Go 文檔

func MkdirAll(path string, perm FileMode) 錯誤

MkdirAll 創(chuàng)建一個名為 path 的目錄以及任何必要的父目錄,并返回 nil,否則返回錯誤。權(quán)限位 perm 用于 MkdirAll 創(chuàng)建的所有目錄。如果 path 已經(jīng)是一個目錄,則 MkdirAll 什么都不做并返回 nil。

編輯:

更新為正確使用os.ModePerm。
對于文件路徑的串聯(lián),請使用path/filepath@Chris 的回答中所述的包。


查看完整回答
反對 回復(fù) 2021-09-13
?
偶然的你

TA貢獻(xiàn)1841條經(jīng)驗 獲得超3個贊

這樣您就不必使用任何幻數(shù):

os.MkdirAll(newPath, os.ModePerm)

此外,您可以使用:

import "path/filepath"
path := filepath.Join(someRootPath, someSubPath)

以上在每個平臺上自動為您使用正確的分隔符。


查看完整回答
反對 回復(fù) 2021-09-13
?
拉莫斯之舞

TA貢獻(xiàn)1820條經(jīng)驗 獲得超10個贊

可以使用如下實用方法來解決此問題。


import (

  "os"

  "path/filepath"

  "log"

)


func ensureDir(fileName string) {

  dirName := filepath.Dir(fileName)

  if _, serr := os.Stat(dirName); serr != nil {

    merr := os.MkdirAll(dirName, os.ModePerm)

    if merr != nil {

        panic(merr)

    }

  }

}




func main() {

  _, cerr := os.Create("a/b/c/d.txt")

  if cerr != nil {

    log.Fatal("error creating a/b/c", cerr)

  }

  log.Println("created file in a sub-directory.")

}


查看完整回答
反對 回復(fù) 2021-09-13
  • 3 回答
  • 0 關(guān)注
  • 216 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號