我是来自Java的未来,还有你总是做这样的事情:何时显式实例化结构?
Http http = new Http(...);
http.ListenAndServe();
因此,所有的信息都存储在本地变量“HTTP”。
这是不同的去。大部分信息直接存储在“另一个包”中。
你这样做:
import "net/http"
...
http.ListenAndServe(...)
所以你不要有明确的(当然,你可以)实例的服务器结构。只需从包中调用一个函数并从那里创建所有结构。 (所以与Java相比,它的行为类似静态成员变量来存储所有信息的静态函数?)
所以这就是你如何去做(每次)? 来自Java,这有点难以理解。 尤其是当使用这种方法,当使用工厂模式(如:NewHttpServer(...)
),当从另一个包明确创建一个结构(如:var http http.Server = http.Server{...}
)
一切是可能的,但什么是地道golang码?
有没有什么好的文档/教程解释它?
通常的规则是,如果你需要任何预先配置你实例化对象,它将具有配置的功能和属性,并使用包函数来使用功能一个默认值足以满足您的用例的实例。 – Topo
走走走。关于你的问题:所有的变体都有它们的用途,没有一个是惯用的。 – Volker