回答

收藏

Go 中的空值

技术问答 技术问答 224 人阅读 | 0 人回复 | 2023-09-12

你如何在 Go 表达空值?
) s% f( |& v( ~7 l& B0 e) ?4 V
    type Node struct      next *Node    data interface{}}
    4 Q# `2 b; s/ R/ u* V6 W. `- ]' U
我想说
% E$ _, {1 _1 I8 `
    return &Node{ data: NULL,next: NULL }
    # d7 f6 y* Y+ @8 C- r2 J8 S2 ^3 Q' _
               
9 R- E$ ~) h( Q& z) D    解决方案:                                                                5 ~% ?- u6 y  k/ F
                                                                相当于NULL是nil,因为你已经发现了。但请注意,你通常不需要nil在 Go 将事物初始化为零或零,因为默认情况下,所有变量(包括动态分配)都是基于类型(数字零,引用nil)设置为零值 。所以在你的例子中new(Node)会导致 Node 有两个 fields nil。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则