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

Go中的空值

韩靖琪
2023-03-14
问题内容

您如何在Go中表达“空”值?

type Node struct { 
    next *Node
    data interface{}
}

我想说

return &Node{ data: NULL, next: NULL }

问题答案:

相当于NULLnil,因为你已经发现了。但是请注意,您通常不需要nil在Go中将事物初始化为或为零,因为默认情况下,根据类型(数字为零,引用nil),所有变量(包括动态分配的变量)都设置为“零值”
。因此,在您的示例中,这样说new(Node)会导致两个字段都具有Node nil



 类似资料:
  • 问题内容: 我正在尝试在Go中解析json流。我创建了一个简化的示例: 这会给我 我在sql包中发现了一个可为null的int64 ,但是json似乎无法处理它。 json是否可以处理可为null的int64类型?如果可能的话,我会对将JSON null 转换为-1或MinValue 感到满意。 谢谢您的投入,Fabian 问题答案: 只需使用一个。指针可以为nil,也可以指向具有关联值的int6

  • 我有两台服务器 > 用户服务器:处理所有用户CRUD操作 产品服务器:通过gRPC调用处理产品CRUD操作并从用户服务器获取用户信息 这里的一些字段是可选的,因为我使用的是cockroachDB(扩展postgreSQL),所以我将它们作为指针保存,以便轻松扫描变量形式的查询结果。 这是我的原始文件: 现在从上面的proto文件生成的模型是这样的:” 现在的问题是,当我为可选字段使用指针时,它将在

  • 问题内容: 我将CloudFlare用于我的一个高流量网站,它位于堆栈的前面。 关键是CloudFlare除了创建新的连接之外,还保留空闲连接,这不是我可以更改的设置。 当我让Varnish或Nginx坐在前面监听端口80时,它们具有开箱即用的配置来挂断空闲连接。 很好,直到我必须将用Go编写的代理添加到堆栈的最前面。它使用标准库。 我不是Go向导,而是根据人们告诉我的内容,只有读写超时设置,而不

  • 问题内容: 在某处是否有标准的Google Go编码约定文档来设置制表符或空格在Go源代码中缩进是首选?如果不是,那么(统计上)更流行的选择是什么? 官方的建议是什么?(如果有) 最受欢迎的选择是什么? 问题答案: 官方建议使用以下格式格式化代码 或直接使用gofmt命令 您可以在golang.org博客上或“ 有效” go 文档中了解有关此内容的更多信息: 缩进 我们使用缩进标签,默认情况下go

  • 问题内容: 给定输入字符串,例如,在Go中将其拆分为字符串数组的最佳方法是什么?请注意,每个单词之间可以有_任意_数量的空格或Unicode空格字符。 在Java中,我只会使用。 (注意:在Go中使用正则表达式可能重复的Split字符串不会给出任何高质量的答案。请提供实际示例,而不仅仅是提供指向或包引用的链接。) 问题答案: 所述封装具有一个方法。 演示: http : //play.golang

  • 问题内容: 我有一个/ / / etc ..值存储在中,并且想要确定它是否未初始化,这意味着它的值是 要么 我该如何检查? 问题答案: 据我了解,您想要的是: 在谈论接口和时,人们总是对两个截然不同且无关的事物感到困惑: 甲接口值,其是不具有一个接口值 的基础值 。这是接口类型的零值。 非接口值(即,它具有 基础值 ),但是其基础值是其基础类型的零值。例如,基础值是映射,指针或0数字等。 据我了解