可以通过内建变量 len 检测 golang 函数中是否有参数:对于变量参数列表 args(类型为 []type),len(args) 返回元素数量。如果 len(args) 为 0,则未传入参数。
如何在 Golang 函数中检测有无参数?
在 Golang 函数中,可以使用内建的预定义变量 len 来检查函数的参数数量。
语法:
func f(args ...type) {
if len(args) == 0 { /* 函数未传入参数 */ }
// ...
}
其中:
立即学习“go语言免费学习笔记(深入)”;
- args 是一个变量参数列表,它的类型为 []type,表示接收 0 个或更多 type 类型的参数。
- len(args) 返回 args 切片中的元素数量。
实战案例:
下面是一个检测函数是否传入参数的示例:
package main
import "fmt"
func main() {
// 定义一个无参函数
func() {
if len(arguments) == 0 {
fmt.Println("函数未传入参数")
}
}()
// 定义一个带参函数
func(arg1, arg2 int) {
if len(arguments) == 0 {
fmt.Println("函数未传入参数")
}
}(1, 2)
}
输出:
函数未传入参数