我正在尝试使用: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
为什么呢?我究竟做错了什么。
(当然我知道我有打开文件的名称 - 但我很好奇为什么,我无法调用该函数)
答案 0 :(得分:2)
因为Name
是method
struct上定义的特殊函数(File
)。意味着它需要File
类型作为接收器,并且可以使用接收器实例调用(在您的情况下为f
)。
这应该有效
name := f.Name()
阅读更多内容: