3 回答

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個(gè)贊
例如,
package main
import (
"fmt"
"os"
)
func main() {
name := "FileOrDir"
fi, err := os.Stat(name)
if err != nil {
fmt.Println(err)
return
}
switch mode := fi.Mode(); {
case mode.IsDir():
// do directory stuff
fmt.Println("directory")
case mode.IsRegular():
// do file stuff
fmt.Println("file")
}
}
筆記:
該示例適用于Go 1.1。對(duì)于Go 1.0,請(qǐng)?zhí)鎿Qcase mode.IsRegular():為case mode&os.ModeType == 0:。

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊
這是另一種可能性:
import "os"
func IsDirectory(path string) (bool, error) {
fileInfo, err := os.Stat(path)
if err != nil{
return false, err
}
return fileInfo.IsDir(), err
}

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個(gè)贊
import "os"
// FileExists reports whether the named file exists as a boolean
func FileExists(name string) bool {
if fi, err := os.Stat(name); err == nil {
if fi.Mode().IsRegular() {
return true
}
}
return false
}
// DirExists reports whether the dir exists as a boolean
func DirExists(name string) bool {
if fi, err := os.Stat(name); err == nil {
if fi.Mode().IsDir() {
return true
}
}
return false
}
- 3 回答
- 0 關(guān)注
- 214 瀏覽
添加回答
舉報(bào)