你可以在Go语言中使用`os.Name()`函数来获取操作系统的名称。

huangapple go评论82阅读模式
英文:

How can I use os.Name() in 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的错误。

为什么?我做错了什么。

(当然,我知道我确实有打开文件的名称 - 但我很好奇为什么我不能调用那个函数)

英文:

I'm trying to use: https://golang.org/src/os/file.go?s=1472:1577#L35

by importing the "os" package and then running

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

I get ./main.go:29: undefined: os.Name

Why? What am I doing wrong.

(Of course I know I have the name of the open file - but I'm curious why, I'm not able to call that function)

答案1

得分: 2

因为Name是在File结构体上定义的特殊函数(方法)。这意味着它以File类型作为接收器,并且可以使用接收器实例(在你的情况下是f)来调用。

这应该可以工作:

name := f.Name()

了解更多信息:

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

https://gobyexample.com/methods

英文:

Because Name is a special function (method) defined on File struct. Means it takes File type as receiver and can be called using receiver instance (in your case f).

This should work

> name := f.Name()

Read more at :

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

https://gobyexample.com/methods

huangapple
  • 本文由 发表于 2016年12月14日 10:33:08
  • 转载请务必保留本文链接:https://go.coder-hub.com/41133886.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定