dsk920417 2014-06-12 01:36
浏览 32
已采纳

此代码使用类型的地址?

the code at https://code.google.com/p/goauth2/source/browse/oauth/oauth.go#99 declares this type:

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

the suggested use of this is following:

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

I do not understand why this code takes the address of this type and why this is even possible in Go. I am a newbie. I thought that types are for the compiler, no? Please help.

  • 写回答

2条回答 默认 最新

  • douxuan3095 2014-06-12 03:57
    关注

    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}
    

    It's an example of the use of a pointer to a composite literal.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 数学建模数学建模需要
  • ¥15 c语言数据结构实验单链表的删除
  • ¥15 关于#lua#的问题,请各位专家解答!
  • ¥15 什么设备可以研究OFDM的60GHz毫米波信道模型
  • ¥15 不知道是该怎么引用多个函数片段
  • ¥30 关于用python写支付宝扫码付异步通知收不到的问题
  • ¥50 vue组件中无法正确接收并处理axios请求
  • ¥15 隐藏系统界面pdf的打印、下载按钮
  • ¥15 基于pso参数优化的LightGBM分类模型
  • ¥15 安装Paddleocr时报错无法解决