【问题标题】:passing File pointer in Go在 Go 中传递文件指针
【发布时间】:2015-06-26 21:47:25
【问题描述】:

好的,我已经用 Go 编程了几天,所以我可以被认为是新手,但我不知道如何导入 File 结构的定义。我想将 *File 传递给 func,但我似乎无法定义 File。我正在导入“os”并在我的主目录中调用 os.Create。如何导入正确的项目或在我的 func 定义中声明参数以传递文件指针?

import "os"
func testfunc(fp *File) { ... }
fp := os.Create("myfile")
testfunc(fp)

【问题讨论】:

    标签: go


    【解决方案1】:

    您的 testfunc 声明应如下所示:

    func testfunc(fp *os.File) { ... }
    

    我在这个问题上卡了大约半个小时。 无论如何,我希望这对其他人也有帮助。

    【讨论】:

      【解决方案2】:

      给出结构文件的限定路径

      import "os"
      func testfunc(fp *os.File) { ... }
      fp := os.Create("myfile")
      testfunc(fp)
      

      【讨论】:

      • os.Create 返回一个 *File 和一个错误。此外,它不是“限定路径”,而是包名称(参见golang.org/ref/spec#Qualified_identifiers)。 Nitpick:这与 os.File 无关,这就是从包中访问内容的工作原理。
      猜你喜欢
      • 2021-11-02
      • 2018-12-31
      • 2014-01-17
      • 2018-12-20
      • 1970-01-01
      • 2020-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多