【发布时间】:2021-01-09 11:22:42
【问题描述】:
go 中的_.isObject(value) 在lodash 中是否有任何等效功能?
如果没有,那么如何在 Go 中实现?
【问题讨论】:
-
它需要更多的阐述:你到底有什么,你到底想针对什么键入断言?
标签: javascript object go lodash
go 中的_.isObject(value) 在lodash 中是否有任何等效功能?
如果没有,那么如何在 Go 中实现?
【问题讨论】:
标签: javascript object go lodash
func isStruct(i interface{}) bool {
return reflect.TypeOf(i).Kind() == reflect.Struct
}
您可以根据需要通过更改类型进行测试,例如 reflect.Ptr。在确保它是指针之后,您甚至可以使用 reflect.Indirect(reflect.ValueOf(i)) 获得指向值。
TypeOf(i) 是ValueOf(i).Type() 的缩写版本,看起来更美观。
如果您想更深入地了解这一点,我推荐使用反射文档。 https://golang.org/pkg/reflect
【讨论】:
reflect.TypeOf(i)代替reflect.ValueOf(i).Type()。