我刚接触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声明为指针(请参阅http://golang.org/pkg的bufio和文件文档)
  • 您希望使用简单的=而不是:=来分配诸如a.foa.bfo之类的属性。
  • 不要丢弃错误,特别是如果您习惯于异常,否则您将遇到无法调试的问题。 (对于学习的简单脚本,您可以if err != nil { panic(err) },但是对于实际使用,您几乎总是想返回它们。)

  • 它也可能有助于复习tour,从各种talksblog posts中获取一些技巧/建议,或者遍历Go By Example(我承认我并没有过分使用它,但听起来像在开始时可能会有用),看看一些开源的Go代码(在Github,stdlib上进行项目开发),然后在the surprisingly readable spec中运行,直到您想了解该语言的真正工作方式。

    10-07 17:03