当前位置: 首页 > 面试题库 >

Golang中奇怪的类型定义语法(名称,然后键入,然后是字符串文字)

屈浩波
2023-03-14
问题内容

我一直在尝试找出如何使用mgo(Go的MongoDB驱动程序),并且遇到了这个struct声明:

type Something struct {
    Id bson.ObjectId "_id,omitempty"
    Name string
}

我不太了解第一个元素(Id)的语法。我知道它被声明为type bson.ObjectId,但是字符串文字在那里做什么?

我的问题不是关于mgo驱动程序功能,
而是关于这个奇怪的<name> <type> <string_literal>语法。

我在Go规格中找不到任何东西,我也不知道该如何在Google上搜索。


问题答案:

语言规范的“
结构类型”部分对此进行了解释:

字段声明后可以跟一个可选的字符串文字 标签 ,该 标签
成为相应字段声明中所有字段的属性。这些标签通过反射界面可见,
但在其他情况下将被忽略。

// A struct corresponding to the TimeStamp protocol buffer.
// The tag strings define the protocol buffer field numbers.
struct {
    microsec  uint64 "field 1"
    serverIP6 uint64 "field 2"
    process   string "field 3"
}


 类似资料:
  • 我正在看https://godoc.org/k8s.io/api/core/v1#Secret 以 为例,我知道 是名称, 是类型,接下来的第三件事是什么?它有什么作用,什么时候有必要包括这第三件事?

  • 根据angular 4项目中的状态条件,我必须将4个可用类(黄色、绿色、红色和白色)中的一个应用到我的div。 上述陈述中只有一个条件可以为真。 如何实现这一点(如果其他如果其他...Angular4) 中的其他语句?

  • 问题内容: 我今天看了一些Java代码,发现了一些奇怪的语法: 我以为无法编译,并想解决我认为是错字的问题,但是后来我想起Java编译器确实接受了它! 有人可以帮我理解它的意思吗?它是功能数组吗? 问题答案: 这是一个返回的方法。 Java语言规范(8.4方法声明) 为了与Java平台的较早版本兼容,允许使用返回数组的方法的声明形式(将部分或全部)空括号对放置在参数列表之后,该空括号对构成数组类型

  • 本文向大家介绍MATLAB输入字符串,在C中进行修改,然后输出,包括了MATLAB输入字符串,在C中进行修改,然后输出的使用技巧和注意事项,需要的朋友参考一下 示例 在此示例中,我们说明了MATLAB MEX中的字符串操作。我们将创建一个MEX函数,该函数接受来自MATLAB的字符串作为输入,将数据复制到C字符串中,对其进行修改,然后将其转换回mxArrayMATLAB端。 此示例的主要目的是说明

  • 我正在尝试创建一个定制的permalink结构,它将允许我完成以下任务。 我有一个自定义的帖子类型称为"项目" 我有一个自定义分类法,称为项目类别,分配给CPT项目 我希望我的永久链接结构如下所示: 项目/类别/项目-名称 或 /%自定义后类型%/%自定义分类%/%后名称%/ 创建这样的永久链接结构会如何影响URL或其他页面?是否可以取消定义自定义永久链接结构并将其限制为单个CPT? 谢谢

  • 我正在使用Schembuf在带有套接字的计算机之间更改数据。要传输数据,我使用以下内容: 然而,我注意到Protobuf无法读取任何非int类型的接收数据(它将其分配给0)。果不其然,如果我不使用套接字,但试图用相同的代码片段返回消息,则会发生相同的情况: 我还指出: 那么,为什么我不能正确地将数据转换回字符串呢?如果这是一个参考问题,为什么protobuf不能读取字符数组数据或从字符数组转换的字