如何在go中使用os.Name()?

时间:2016-12-14 02:33:09

标签: go

我正在尝试使用:https://golang.org/src/os/file.go?s=1472:1577#L35

导入“os”包然后运行

f, err := os.Open("/tmp/dat3")
check(err)
name := os.Name(f)

我得到./main.go:29: undefined: os.Name

为什么呢?我究竟做错了什么。

(当然我知道我打开文件的名称 - 但我很好奇为什么,我无法调用该函数)

1 个答案:

答案 0 :(得分:2)

因为Namemethod struct上定义的特殊函数(File)。意味着它需要File类型作为接收器,并且可以使用接收器实例调用(在您的情况下为f)。

这应该有效

  

name := f.Name()

阅读更多内容:

https://tour.golang.org/methods/1

https://gobyexample.com/methods