面试题答案
一键面试- 设计思路:
- 使用Go语言的反射包
reflect
来获取传入参数的类型和值。 - 根据参数的具体类型,进行相应的条件判断。例如,对于
int
类型判断是否大于10,对于string
类型判断长度是否大于5等。
- 使用Go语言的反射包
- 核心代码片段(以Go语言为例):
package main
import (
"fmt"
"reflect"
)
func validateParam(param interface{}) bool {
value := reflect.ValueOf(param)
switch value.Kind() {
case reflect.Int:
return value.Int() > 10
case reflect.String:
return value.Len() > 5
default:
return false
}
}
可以通过以下方式调用该函数:
func main() {
num := 15
str := "hello world"
fmt.Println(validateParam(num))
fmt.Println(validateParam(str))
}