在 Go 中使用 os.Lstat 返回值

https://golang.org/pkg/os/#Lstat说:

func Lstat(name string) (FileInfo, error)

Lstat 返回描述命名文件的 FileInfo。如果文件是符号链接,则返回的 FileInfo 描述符号链接。Lstat 不会尝试访问该链接。如果有错误,它将是 *PathError 类型。

但是,返回的os.FileInfo接口不提供任何符号链接信息。这些信息去了哪里?我应该在 上使用特定于平台的 Sys() 方法吗os.FileInfo


慕森卡
浏览 96回答 1
1回答

隔江千里

Stat返回有关目标文件的信息,Lstat返回有关符号链接本身的信息。信息全部包含在文件的模式位中。您可以使用包中的预定义常量os来检查您感兴趣的模式类型。例如,如果您将fileInfofrom传递os.Stat("/path/to/symlink")给以下代码,它不会说这是一个符号链接。但是,如果您传递 的返回值os.Lstat,它将:if fileInfo.Mode()&os.ModeSymlink != 0 {     fmt.Println(fileInfo.Name(), "is a symlink") }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go