标签: interface struct go
假设我们有User类型
User
type User struct { FirstName string LastName string ... }
我需要一个返回[]string的函数,其中包含字段名称[FirstName, LastName, ...]
[]string
[FirstName, LastName, ...]
答案 0 :(得分:4)
这可以使用反射(通过reflect包)来完成:
instance := struct{Foo string; Bar int }{"foo", 2} v := reflect.ValueOf(instance) names := make([]string, 0, v.NumField()) v.FieldByNameFunc(func(fieldName string) bool{ names = append(names, fieldName) return false })
play上的实例。