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

如何检查一个空的结构?

闽经纬
2023-03-14
问题内容

定义一个结构…

type Session struct {
    playerId string
    beehive string
    timestamp time.Time
}

有时我给它分配一个空的会话(因为nil不可能)

session = Session{};

然后,我想检查一下是否为空:

if session == Session{} {
     // do stuff...
}

显然这是行不通的。我该怎么写?


问题答案:

您可以使用==与零值复合文字进行比较,因为所有字段都是可比较的:

if (Session{}) == session  {
    fmt.Println("is zero value")
}

游乐场的例子

由于存在歧义,因此在if条件下,在组合文字周围需要括号。

==上面的用法适用于所有字段都是可比较的结构。如果该结构包含不可比较的字段(切片,映射或函数),则必须将这些字段一一与它们的零值进行比较。

比较整个值的另一种方法是比较在有效会话中必须设置为非零值的字段。例如,如果在有效会话中玩家ID必须为!=“”,请使用

if session.playerId == "" {
    fmt.Println("is zero value")
}


 类似资料:
  • 我定义了一个结构… 有时我给它分配一个空会话(因为不可能为零) 然后我想检查一下,如果它是空的: 显然这是行不通的。我怎么写?

  • 问题内容: 我想知道此代码对于检查数组是否为空是否有效,还是应该检查null? 谢谢! 问题答案: 在数组类中,我们有一个定义为“ length”的静态变量,该变量保存数组对象中的元素数。您可以使用它来找到长度为:

  • 本文向大家介绍如何检查一个对象是否为空,包括了如何检查一个对象是否为空的使用技巧和注意事项,需要的朋友参考一下 检查一个数组为空很容易,直接调用 length 方法即可,那么如何检查一个对象是否为空呢 ❓ 这里的空指的是对象没有自有属性 假设这里有两个对象,一个是 obj 一个是 anotherObj 想了半天查看对象是否有 Symbol 属性只能使用 getOwnPropertySymbols

  • 通常,我可以看到如下代码结构: 我想知道是否有任何广泛使用的库(Google、Apache等)可以同时检查多个对象的空性,例如: 或 更新: > 我完全知道怎么自己写 我知道这可能是程序结构不佳的结果,但在这里不是个案 让我们使它更具挑战性,并用这样的内容替换原始示例: 更新2: 我已经为Apache Commons Lang库创建了一个pull请求,以修复这个漏洞: 问题:https://iss

  • 问题内容: 我该如何做: 健康)状况? (或某些原因,因为我很确定我刚才写的东西是完全错误的) 我正在尝试检查列表中的a是(空白)还是包含。 问题答案: 您可以将您的字符串与空字符串进行比较: 但是您可以将其缩写为: 说明:An通过为您提供的逻辑表达式计算值来实际起作用:或。如果仅使用变量名(或诸如“ hello”之类的文字字符串)而不是逻辑测试,则规则是:空字符串计为False,所有其他字符串计

  • 下面的代码引发NullPointerException。即使有