type Info struct { Name string _ int32 Age int}
你就把他当作一个占位符吧,通常用于函数返回多个结果的情况下,某个结果不想用,或者懒得处理,然后就用这个符号接收。
在 Go 语言中,以 _
(下划线)开头的标识符(包括变量名、字段名等)是一个特殊的标识符,它通常用作占位符或者忽略某个值。
在结构体中,_
字段主要被用作占位符,它本身不存储任何值,也不会被导出或序列化。其主要用途如下:
_
字段允许我们这样做,而不会对现有的代码造成任何影响。_
,我们可以确保它们在序列化和反序列化的过程中被忽略。_
作为临时名称。对于你给出的示例:
type Info struct { Name string _ int32 Age int}
这里的 _ int32
是一个占位符,它不存储任何值,也不会影响 Info
结构体的其他字段。在实际使用中,这个 _
字段通常不会被使用或引用。
使用 _
字段的情况包括但不限于:
然而,过度使用 _
字段可能会使代码难以理解和维护,因此应当谨慎使用。
问题内容: 这段代码在: 最后一行使我感到非常困惑。我不知道的意思。 这些是其他代码: 结果是 我猜想的功能是从中选择所有元素,但是我还没有找到正式的解释。它是什么? 问题答案: builtin.go中的代码用作文档。该代码未编译。 在指出这个函数的最后一个参数是可变参数。可变参数在Go语言规范中进行了说明。 该类型的部分为任何围棋类型替身。
在Go语言规范中,提到了对标签的简要概述: 字段声明之后可能会有一个可选的字符串文字标记,该标记将成为相应字段声明中所有字段的属性。标记通过反射界面可见,但在其他情况下被忽略。 这是一个非常简短的解释,我想知道是否有人能给我提供这些标签的用途?
问题内容: 通常,我将初始化一个类似的结构: 但是,我最近看到了用括号初始化的代码: 返回相同的名称。 括号中的内容起什么作用?何时首选? 这是一些Go代码可以尝试一下: 游乐场:https : //play.golang.org/p/_gsaruS_DVi 问题答案: 没什么特别的,那两行是相同的。 但是,例如,当您要在语句中使用它时,将需要使用括号,否则会出现编译时错误: 结果是: 预期的布尔
请问我们在使用类型注释的时候,何时使用type class名,何时使用class名呢? 我经过如下实验: 比如以上,是否是返回类型为class名称的时候,使用 typeof class名,返回类对象的时候,使用class名?
问题内容: 我知道前两列是什么,但是什么? 问题答案: 它称为struct标记,可以在运行时使用包对其进行解析。 来自https://golang.org/ref/spec#Struct_types: 字段声明后可以跟一个可选的字符串文字标签,该标签成为相应字段声明中所有字段的属性。 这些标记通过反射接口可见,并参与结构的类型标识,但否则将被忽略。 一些使用反射的包(例如)并使用标签来更好地处理特
大家能不能结合自己的项目大小,说明一下。 哨兵+主从模式,会在多大数据量情况下出现性能瓶颈?