gpt4 book ai didi

go - 此代码使用类型的地址?

转载 作者:IT王子 更新时间:2023-10-29 01:22:26 26 4
gpt4 key购买 nike

代码在https://code.google.com/p/goauth2/source/browse/oauth/oauth.go#99声明这种类型:

package oauth
...
type Config struct {...}
...

建议的用法如下:

var config = &oauth.Config{...}

我不明白为什么这段代码采用这种类型的地址以及为什么这在 Go 中是可能的。我是新手。我以为类型是为编译器准备的,不是吗?请帮忙。

最佳答案

The Go Programming Language Specification

Composite literals

Composite literals construct values for structs, arrays, slices, and maps and create a new value each time they are evaluated. They consist of the type of the value followed by a brace-bound list of composite elements. An element may be a single expression or a key-value pair.

Given the declaration

type Point3D struct { x, y, z float64 }

one may write

origin := Point3D{}         // zero value for Point3D

Taking the address of a composite literal generates a pointer to a unique instance of the literal's value.

var pointer *Point3D = &Point3D{y: 1000}

这是一个使用指向复合文字的指针的示例。

关于go - 此代码使用类型的地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24175214/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com