https://code.google.com/p/goauth2/source/browse/oauth/oauth.go#99处的代码声明了这种类型:
package oauth
...
type Config struct {...}
...
建议使用以下内容:
var config = &oauth.Config{...}
我不明白为什么这段代码会使用这种类型的地址以及为什么在Go中甚至可以使用。我是新手。我以为那些类型是针对编译器的,不是吗?请帮忙。
答案 0 :(得分:4)
The Go Programming Language Specification
复合文字构造结构,数组,切片和的值 映射并在每次评估时创建新值。他们包括 值的类型后跟一个大括号括号的复合列表 元素。元素可以是单个表达式或键值对。
鉴于声明
type Point3D struct { x, y, z float64 }
一个人可以写
origin := Point3D{} // zero value for Point3D
获取复合文字的地址会生成指向a的指针 文字值的唯一实例。
var pointer *Point3D = &Point3D{y: 1000}
这是使用指向复合文字的指针的一个例子。
答案 1 :(得分:3)
这是取Config
类型的新实例的地址,而不是类型本身的地址。