我正在调用一个函数,如果没有值,该函数将返回一个空数组。
当我这样做时,它不起作用:
if r == [] {
fmt.Println("No return value")
}
我正在使用的解决方法是:
var a [0]int
if r == a {
fmt.Println("No return value")
}
但是声明一个变量只是为了检查返回值似乎并不正确。什么是更好的方法呢?
我正在调用一个函数,如果没有值,该函数将返回一个空数组。
当我这样做时,它不起作用:
if r == [] {
fmt.Println("No return value")
}
我正在使用的解决方法是:
var a [0]int
if r == a {
fmt.Println("No return value")
}
但是声明一个变量只是为了检查返回值似乎并不正确。什么是更好的方法呢?
r
也是类型,否则我看不到它会如何,[0]int
但在那种情况下,两个(空)数组将始终比较相等。
Answers:
len()
返回切片或数组中元素的数量。
假设whatever()
您要调用的函数,可以执行以下操作:
r := whatever()
if len(r) > 0 {
// do what you want
}
或者如果您不需要这些物品
if len(whatever()) > 0 {
// do what you want
}
var num []int
)也将len返回为零。即,len(num) == 0
您可以使用Golang提供的内置功能
len()
这将帮助您轻松地找到一个切片是否为空。
if len( yourFunction() ) == 0 {
// It implies that your array is empty.
}