GO語言"io/ioutil"包中"TempDir"函數的用法及代碼示例。
用法:
func TempDir(dir, pattern string)(name string, err error)
TempDir 在目錄 dir 中創建一個新的臨時目錄。目錄名稱是通過采用模式並在末尾應用隨機字符串來生成的。如果模式包含"*",則隨機字符串替換最後的"*"。 TempDir 返回新目錄的名稱。如果 dir 是空字符串,TempDir 使用臨時文件的默認目錄(參見 os.TempDir)。多個程序同時調用TempDir 不會選擇同一個目錄。不再需要時刪除目錄是調用者的責任。
從 Go 1.17 開始,此函數僅調用 os MkdirTemp
例子:
package main
import (
"io/ioutil"
"log"
"os"
"path/filepath"
)
func main() {
content := []byte("temporary file's content")
dir, err := ioutil.TempDir("", "example")
if err != nil {
log.Fatal(err)
}
defer os.RemoveAll(dir) // clean up
tmpfn := filepath.Join(dir, "tmpfile")
if err := ioutil.WriteFile(tmpfn, content, 0666); err != nil {
log.Fatal(err)
}
}
示例(後綴):
package main
import (
"io/ioutil"
"log"
"os"
"path/filepath"
)
func main() {
parentDir := os.TempDir()
logsDir, err := ioutil.TempDir(parentDir, "*-logs")
if err != nil {
log.Fatal(err)
}
defer os.RemoveAll(logsDir) // clean up
// Logs can be cleaned out earlier if needed by searching
// for all directories whose suffix ends in *-logs.
globPattern := filepath.Join(parentDir, "*-logs")
matches, err := filepath.Glob(globPattern)
if err != nil {
log.Fatalf("Failed to match %q: %v", globPattern, err)
}
for _, match := range matches {
if err := os.RemoveAll(match); err != nil {
log.Printf("Failed to remove %q: %v", match, err)
}
}
}
相關用法
- GO Template用法及代碼示例
- GO TempFile用法及代碼示例
- GO Template.Delims用法及代碼示例
- GO TeeReader用法及代碼示例
- GO Time.Sub用法及代碼示例
- GO TrailingZeros8用法及代碼示例
- GO Tx.ExecContext用法及代碼示例
- GO Time.Equal用法及代碼示例
- GO ToTitle用法及代碼示例
- GO Time.After用法及代碼示例
- GO Title用法及代碼示例
- GO TrimRight用法及代碼示例
- GO ToLowerSpecial用法及代碼示例
- GO Time.Format用法及代碼示例
- GO ToUpper用法及代碼示例
- GO Trunc用法及代碼示例
- GO TrailingZeros32用法及代碼示例
- GO To用法及代碼示例
- GO Time.AppendFormat用法及代碼示例
- GO Time.AddDate用法及代碼示例
注:本文由純淨天空篩選整理自golang.google.cn大神的英文原創作品 TempDir。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。