golang bufio在对象中

时间:2014-12-23 16:44:10

标签: object struct go

我对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。

有人可以帮我吗?

谢谢

1 个答案:

答案 0 :(得分:0)

代码示例中的几件事情:

  • 每次使用其他包中的名称都需要以包名为前缀 - 因此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你想知道语言真正起作用的等级。