以下空切片是否与空指针相同?
slice = Slice(UInt8).empty
slice.size # => 0
#empty
的{{3}}表示空指针(地址0和大小0):
def self.empty
new(Pointer(T).null, 0)
end
答案 0 :(得分:0)
这是Null-Object模式的应用程序:
空切片可以在所有需要规则切片的地方使用,而无需显式的Nil-Checks。
一个类似的例子是在nil上返回一个空字符串,或者让GuestUser具有与常规User相同的属性。