登录
首页 >  Golang >  Go问答

在Go中使用os.Lstat返回值

来源:stackoverflow

时间:2024-04-10 18:51:35 356浏览 收藏

积累知识,胜过积蓄金银!毕竟在Golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《在Go中使用os.Lstat返回值》,就带大家讲解一下知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

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

func Lstat(name string) (FileInfo, error)

lstat 返回描述指定文件的 fileinfo。如果文件是符号链接,则返回的 fileinfo 描述该符号链接。 lstat 不会尝试跟踪该链接。如果有错误,则其类型为 *patherror。

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


解决方案


stat 返回有关目标文件的信息,lstat 返回有关符号链接本身的信息。

信息全部包含在文件的模式位中。您可以使用 os 包中的预定义常量来检查您感兴趣的模式类型。

例如,如果您将 fileinfoos.stat("/path/to/symlink") 传递给以下代码,它不会说它是符号链接。但是,如果传递 os.lstat 的返回值,它将:

if fileInfo.Mode()&os.ModeSymlink != 0 {
    fmt.Println(fileInfo.Name(), "is a symlink")
}

终于介绍完啦!小伙伴们,这篇关于《在Go中使用os.Lstat返回值》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>