我正在查看此页面上的代码:
http://golang.org/pkg/net/http/
有一件事我不明白——在某些时候,一个新的结构被创建并像这样初始化:
client := &http.Client{
CheckRedirect: redirectPolicyFunc,
}
为什么在创建这个结构时使用&
?
我也读过这个 blog post和结构初始化如下:
r := Rectangle{}
两者有什么区别,我应该如何知道使用哪一个?
最佳答案
区别在于变量的类型。
client := &http.Client{
制作类型为*http.Client
的client
同时
client := http.Client{
构建一个http.Client
。
关于reference - 为什么要在 go 中分配对结构的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14663774/