关于GO语言的public和private

var DefaultServeMux = &defaultServeMux
var defaultServeMux ServeMux

偶然间在代码里面看到这么两行,总觉得明明一行就可以做到啊,为什么要写两行呢?

为了在包以外访问定义的内部ServeMux类型的defalutServeMux的指针地址

  1. DefaultServeMux 取了defaultServeMux 的指针地址(也就是ServeMux类型)
  2. 指针提供外部使用,可以介绍资源拷贝