假设我有以下序列:
var s1: seq[int] = @[]
var s2: seq[int]
var s3: seq[int] = nil
var s4: seq[int] = newSeq[int](4)
Run Code Online (Sandbox Code Playgroud)
其中哪些通常被认为是“空的”?测试它们是否为空的最惯用的方法是什么?
现在我只是检查是否len是0:
proc doSomething(s: seq[int]) =
if s.len() == 0:
echo("Your sequence is empty.")
else:
# do something
Run Code Online (Sandbox Code Playgroud)
strutils 模块提供了isNullOrEmpty字符串的过程:https ://nim-lang.org/docs/strutils.html#isNilOrEmpty,string
正如您在其实现中所看到的,它只是检查len(s) == 0.