Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么戈朗';是否导出了http.DefaultClient?_Http_Go_Client - Fatal编程技术网

为什么戈朗';是否导出了http.DefaultClient?

为什么戈朗';是否导出了http.DefaultClient?,http,go,client,Http,Go,Client,我很好奇为什么Go的http包中的变量var DefaultClient会被导出。正如变量的注释所示,它由Get()等方法在内部使用。如果是这样,为什么要出口呢 当我第一次开始编写与HTTP相关的东西时,我一直认为我可以使用DefaultClient发送所有请求,直到我发现它不是一个每次都返回一个新Client的函数,而是一个静态指针变量,它总是指向同一个空Client实例。。。因此,如果我决定修改它的属性,那么所有与DefaultClient的后续调用都将受到影响 同样,导出此变量的目的是什么

我很好奇为什么Go的
http
包中的变量
var DefaultClient
会被导出。正如变量的注释所示,它由Get()等方法在内部使用。如果是这样,为什么要出口呢

当我第一次开始编写与HTTP相关的东西时,我一直认为我可以使用
DefaultClient
发送所有请求,直到我发现它不是一个每次都返回一个新
Client
的函数,而是一个静态指针变量,它总是指向同一个空
Client
实例。。。因此,如果我决定修改它的属性,那么所有与DefaultClient的后续调用都将受到影响


同样,导出此变量的目的是什么?

我不能确定地说(因为我没有设计软件包),但如果导出,可以修改它。这意味着您可以设置超时等(默认情况下未指定)


http.Get
这样的方便方法只是
DefaultClient.Get
的包装,能够事先修改
DefaultClient
的超时是有意义的,但是可能要使用所有其他默认值,比如重用连接/传输的能力。

这不是导出它的全部意义吗?您可以修改它,然后使用它的所有其他方法都使用修改后的客户端。它被导出为可用。