From 54e9d6d5efdd03a75574f78e8cf379a9eec79f6d Mon Sep 17 00:00:00 2001 From: qiulaidongfeng <2645477756@qq.com> Date: Wed, 2 Aug 2023 00:37:49 +0000 Subject: [PATCH] reflect: update Type.FieldByName documentation Fixes #61495 Change-Id: I9abaf3613c797006b803dcb1dbee16f25ffb7516 Change-Id: I9abaf3613c797006b803dcb1dbee16f25ffb7516 GitHub-Last-Rev: 7bc2cba77286be1bd322ee31eee3e1df3d8761f1 GitHub-Pull-Request: golang/go#61645 Reviewed-on: https://go-review.googlesource.com/c/go/+/514035 TryBot-Result: Gopher Robot Auto-Submit: Ian Lance Taylor Reviewed-by: David Chase Reviewed-by: Ian Lance Taylor Run-TryBot: Ian Lance Taylor --- src/reflect/type.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/reflect/type.go b/src/reflect/type.go index 6c05aceccf1..4254c657d2d 100644 --- a/src/reflect/type.go +++ b/src/reflect/type.go @@ -172,6 +172,9 @@ type Type interface { // FieldByName returns the struct field with the given name // and a boolean indicating if the field was found. + // If the returned field is promoted from an embedded struct, + // then Offset in the returned StructField is the offset in + // the embedded struct. FieldByName(name string) (StructField, bool) // FieldByNameFunc returns the struct field with a name @@ -186,6 +189,10 @@ type Type interface { // and FieldByNameFunc returns no match. // This behavior mirrors Go's handling of name lookup in // structs containing embedded fields. + // + // If the returned field is promoted from an embedded struct, + // then Offset in the returned StructField is the offset in + // the embedded struct. FieldByNameFunc(match func(string) bool) (StructField, bool) // In returns the type of a function type's i'th input parameter.