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

golang:将类型struct设置为nil [关闭]

岑毅庵
2023-03-14
问题内容

type Ptr struct {
ID *big.Int
IpAddress string
Port string
}
var NewVar Ptr

用值初始化NewVar之后,我想将NewVar设置为nil。我怎样才能做到这一点?


问题答案:

结构值的零值不为nil

此类变量或值的每个元素都将其类型设置为零值:false布尔值,0整数,0.0浮点数,""字符串以及
nil 指针,函数,接口,切片,通道和映射

在您的情况下,此变量声明 var NewVar Ptr创建变量,将相应的标识符绑定Ptr到该变量,并为其提供类型和初始值。



 类似资料:
  • 问题内容: 我想在下面的代码中改进getCustomerFromDTO方法,我需要从interface {}创建一个结构,目前我需要将该接口编组为byte [],然后将数组解组为我的结构-必须有更好的方法。 我的用例是,我通过rabbitmq发送结构,然后使用具有其他特定于域的数据的通用DTO包装器来发送它们。当我从Rabbit MQ接收DTO时,消息下方的一层将被封送给我的DTO,然后我需要从该

  • 问题内容: 因此,我在解析golang中的数据时遇到了一些麻烦: } 使用此结构时,我可以很容易地输出它。 但是,一旦我将“ Gateways [] struct”分离成自己的结构,它就会返回一个空数组… 完整来源。 问题答案: 您的函数存在问题,您正在调用作为第一个参数传递,这是一个包名:这是模棱两可的。 如您所见,代码可以很好地更改函数。 输出:

  • 问题内容: 我有一个结构: 对象B具有一些属性,分别为nil(字符串),false(布尔),0(整数),…。我想检查B的字段是否为未分配值,该字段将接收A中相同字段的值, 例: B的关于字段为零; A的“关于”字段是“我是管理员”。B的“关于”字段是“我是管理员”。 我可以写代码: 与其他字段类似,我不想逐步检查所有字段。 问题答案: 输出量

  • 问题内容: 我正在将Golang Revel用于某些Web项目,到目前为止,我确实喜欢12个项目。由于返回类型,在所有这些代码中我都有很多代码冗余。看一下这两个功能: 如您所见,它们都返回相同类型的数据(类型struct)。我的想法只是像这样传递字符串var: 像这样,我只能使用一个助手来返回数据类型,而不是一遍又一遍地对不同的模型但相同的数据类型执行同一操作。 我的问题是: 这有可能吗 如果是,

  • 问题内容: 我创建了一个自定义错误类型来包装错误,以便更轻松地在Golang中进行调试。当有打印错误时它可以工作,但是现在引起了恐慌。 演示版 当我调用一个函数时,它不会返回错误,我仍然应该能够包装该错误。 预期的行为是,如果错误为nil,则应该简单地忽略它,不幸的是,它会做相反的事情。 我希望它能打印出来。而是即使错误为nil也会打印。 问题答案: 正在将err变量与nil进行比较,但实际上它是

  • 问题内容: 当我运行下面的代码片段时,它会引发错误 a.test未定义(类型interface {}是没有方法的接口) 看来类型开关没有生效。 如果我将其更改为 没关系 问题答案: 这是规范(强调我的)定义的正常行为: TypeSwitchGuard可以包含一个简短的变量声明。使用该格式时,将在每个子句中隐式块的开头声明变量。 在大小写正好列出一种类型的子句中,变量具有该类型。 否则,变量具有Ty