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

包含空结构的名为“ _”(下划线)的字段的用途是什么?

李经国
2023-03-14
问题内容

我已经看到了使用这种模式的两段Go代码:

type SomeType struct{
  Field1 string
  Field2 bool
  _      struct{}    // <-- what is this?
}

谁能解释这段代码的作用?


问题答案:

声明结构时,此技术将强制使用键控字段。

例如,该结构:

type SomeType struct {
  Field1 string
  Field2 bool
  _      struct{}
}

只能用键控字段声明:

// ALLOWED:
bar := SomeType{Field1: "hello", Field2: "true"}

// COMPILE ERROR:
foo := SomeType{"hello", true}

这样做的原因之一是允许将来在不破坏现有代码的情况下将其他字段添加到结构中。



 类似资料:
  • 问题内容: 从golang规范 是否有使用内的 空白 字段的实际方案?(一些代码片段将不胜感激) 问题答案: 填充正是所谓的:一些填充,用于将以下字段与您的需求对齐,例如,匹配C结构的布局。无法访问它(至少在没有软件包不安全的情况下)。

  • 问题内容: 此代码中的 是什么意思? 问题答案: 在Python中有4种主要的常规用法: 在交互式解释器会话中保存上次执行的表达式的结果。此先例是由标准CPython解释器设定的,其他解释器也纷纷效仿 在i18n中进行翻译查找( 例如,参见 gettext文档),如代码所示: 作为通用“一次性”的变量名指示函数结果的一部分被故意忽略(在概念上,它被丢弃。),如类似的代码: 。 作为函数定义的一部分

  • rank ▲ ✰ vote url 64 365 174 322 url 在实例名字前单下划线和双下划线的含义 我想刨根问底,这到底是什么意思?解释一下他俩的区别. 单下划线 在一个类中的方法或属性用单下划线开头就是告诉别的程序这个属性或方法是私有的.然而对于这个名字来说并没有什么特别的. 引自PEP-8: 单下划线:"内部使用"的弱指示器.比如,from M import * 将不会引进用但下划

  • 问题内容: 我正在努力从以下代码中获取正确的输出: 游乐场片段 打印时,结构字段为空。我敢肯定某个地方有一个愚蠢的错误,但是我仍然对Go还是陌生的,而且我已经在这里呆了几个小时。请帮忙。 问题答案: 这已经出现了很多次了。问题在于只能对导出的字段进行封送处理。 通过以大写(大写)字母开头来导出结构域。 在Go Playground上尝试一下。 请注意,JSON文本包含带有小写字母文本的字段名称,但

  • 本文向大家介绍Python3中_(下划线)和__(双下划线)的用途和区别,包括了Python3中_(下划线)和__(双下划线)的用途和区别的使用技巧和注意事项,需要的朋友参考一下 在看一些Python开源代码时,经常会看到以下划线或者双下划线开头的方法或者属性,到底它们有什么作用,又有什么样的区别呢?今天我们来总结一下(注:下文中的代码在Python3下测试通过) _ 的含义 在python的类中

  • 本文向大家介绍MySQL字段中zerofill的用途是什么?,包括了MySQL字段中zerofill的用途是什么?的使用技巧和注意事项,需要的朋友参考一下 Zerofill用零填充字段的显示值,直到列定义中指定的显示宽度为止。例如,如果column设置为int(8),则宽度为8。如果数字为4376,则将在左侧填充零以表示总宽度,即8- 让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用