一尘不染

如何检查空切片?

go

如果没有值,我正在调用一个返回空数组的函数。

当我这样做时,它不起作用:

if r == [] {
    fmt.Println("No return value")            
}

我正在使用的解决方法是:

var a [0]int
if r == a {
    fmt.Println("No return value")            
}

但是声明一个变量只是为了检查返回值似乎不正确。什么是更好的方法来做到这一点?


阅读 322

收藏
2021-12-03

共1个答案

一尘不染

len() 返回切片或数组中的元素数。

假设whatever()是您调用的函数,您可以执行以下操作:

r := whatever()
if len(r) > 0 {
  // do what you want
}

或者如果您不需要这些物品

if len(whatever()) > 0 {
  // do what you want
}
2021-12-03