diff --git a/src/reflect/type.go b/src/reflect/type.go index 49da4ef34b..a9793978f7 100644 --- a/src/reflect/type.go +++ b/src/reflect/type.go @@ -156,9 +156,14 @@ type Type interface { // and a boolean indicating if the field was found. FieldByName(name string) (StructField, bool) - // FieldByNameFunc returns the first struct field with a name + // FieldByNameFunc returns the struct field with a name // that satisfies the match function and a boolean indicating if // the field was found. + // + // If multiple fields match the func, they cancel each other + // and FieldByNameFunc returns no match. + // This behavior mirrors Go's handling of name lookup in + // structs containing anonymous fields. FieldByNameFunc(match func(string) bool) (StructField, bool) // In returns the type of a function type's i'th input parameter.