【问题标题】:golang bufio in object对象中的golang bufio
【发布时间】:2014-12-24 01:40:45
【问题描述】:

我对 Golang 还很陌生;以前用过 Python。

我很难在对象中应用 bufio。

type fout struct {
    filename string
    fo File 
    bfo Writer

}
func (a *fout) init() {
    a.fo,_:=os.Open(a.filename)
    a.bfo:=bufio.NewWriter(fo)
}

基本上,我喜欢创建对象;每个都有它的文件名,并且会使用 bufio。

谁能帮帮我?

谢谢

【问题讨论】:

  • 每次使用来自另一个包的名称都需要以包名作为前缀——所以fo File必须是fo *os.File。您通常将*bufio.Writer 和*os.File 声明为指针(请参阅golang.org/pkg 处的bufio 和文件文档)您想要简单的=,而不是:=,用于分配给a.fo 和a.bfo 等属性。不要丢弃错误,尤其是当您习惯了异常时,否则您将遇到无法调试的问题。 (对于一个简单的学习脚本,你可以if err != nil { panic(...) },但真正使用,你几乎总是想退回它们。)
  • @twotwotwo 我是 stackoverflow 的新手;我怎样才能选择你的答案作为“答案”?
  • 你不能因为那不是一个“答案”,但我已经发布了一个你可以接受的。

标签: object struct go


【解决方案1】:

代码示例中的一些内容:

  • 每次使用来自另一个包的名称都需要以包名作为前缀——所以fo File 必须是fo *os.File。
  • 您通常将*bufio.Writer 和*os.File 声明为指针(请参阅http://golang.org/pkg 上的bufio 和文件文档)
  • 您想要简单的=,而不是:=,用于分配给a.fo 和a.bfo 等属性。
  • 不要丢弃错误,尤其是当您习惯了异常时,否则您将遇到无法调试的问题。 (对于一个简单的学习脚本,你可以if err != nil { panic(err) },但如果要真正使用,你几乎总是想退回它们。)

查看tour 也有帮助,从各种talks 和blog posts 中获取一些技巧/建议,也许可以浏览Go By Example(我承认我没有亲自使用过它,但听起来像它在开始时可能很有用),查看一些开源 Go 代码(Github 上的项目,stdlib,任何东西),一旦你达到你想知道语言的水平,就运行the surprisingly readable spec有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-27
    • 1970-01-01
    • 1970-01-01
    • 2020-07-31
    相关资源
    最近更新 更多