reference - 为什么要在 go 中分配对结构的引用?

标签 reference struct initialization go

我正在查看此页面上的代码:

http://golang.org/pkg/net/http/

有一件事我不明白——在某些时候,一个新的结构被创建并像这样初始化:

client := &http.Client{
    CheckRedirect: redirectPolicyFunc,
}

为什么在创建这个结构时使用&

我也读过这个 blog post和结构初始化如下:

r := Rectangle{}

两者有什么区别,我应该如何知道使用哪一个?

最佳答案

区别在于变量的类型。

client := &http.Client{

制作类型为*http.Clientclient

同时

client := http.Client{

构建一个http.Client

关于reference - 为什么要在 go 中分配对结构的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14663774/

相关文章:

c++ - 创建引用的类模板包装器会导致未定义的行为吗?

struct - 是否可以将先前声明的函数绑定(bind)到结构?

c - 具有动态矩阵的动态结构

c++ - C++ "declaration and initialization"语句是表达式吗?

c++ - 通过引用传递对 lambda 的引用

c++ - 该函数应返回 1 但它返回 0

java - 如何引用特定对象?

c - c中的结构内部的函数指针有什么用?

c - 在初始化 C 字符串数组时警告从字符串 const 转换为 char*

scala - 以蛋糕模式抽象数据库客户端