3

plan9具体的 Go 代码中syscall,没有Stat_t与其他类似的GOOS。在哪里Stat_t定义,或其等价物?

4

1 回答 1

5

TL;DR:这是*syscall.Dir类型。请继续阅读以了解详细信息。

os.Stat关于 Plan9的来源在这里。它调用dirstat这里定义。dirstat它提供into的返回值,该值在此处fileInfoFromStat的同一文件中定义。

对于路径(而不是*File对象),dirstat只需调用syscall.Stat,这基本上只是stat. syscall.Stat期望一个字节缓冲区能够写入。这个缓冲区被处理了一下(详见dirstat),然后被送入syscall.UnmarshalDir,这就是魔法发生的地方。文档声明它从缓冲区“解码单个 9P 统计消息”并返回一个*syscall.Dir.

dirstat然后将其传递*syscall.DirfileInfoFromStat,这是将其处理为FileInfo. *syscall.Dir正是通过对象Sys()上的方法获得的这个值FileInfo

于 2016-02-22T09:24:07.927 回答