summaryrefslogtreecommitdiff
path: root/src/reflect
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2014-10-15 13:33:00 -0400
committerRuss Cox <rsc@golang.org>2014-10-15 13:33:00 -0400
commit975a1633cf3a40984fd5a7c924eed78f91f36c52 (patch)
treee4d90bb7c71ddab888822be05fa439f33be6ac2f /src/reflect
parent40c2dd45e4056e903046d02982a961d0e3fbf0b9 (diff)
downloadgo-975a1633cf3a40984fd5a7c924eed78f91f36c52.tar.gz
reflect: add fast path for FieldByIndex with len(index) = 1
LGTM=r R=r CC=golang-codereviews https://codereview.appspot.com/152640043
Diffstat (limited to 'src/reflect')
-rw-r--r--src/reflect/value.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/reflect/value.go b/src/reflect/value.go
index 9c65ee270..8c320f11b 100644
--- a/src/reflect/value.go
+++ b/src/reflect/value.go
@@ -857,6 +857,9 @@ func (v Value) Field(i int) Value {
// FieldByIndex returns the nested field corresponding to index.
// It panics if v's Kind is not struct.
func (v Value) FieldByIndex(index []int) Value {
+ if len(index) == 1 {
+ return v.Field(index[0])
+ }
v.mustBe(Struct)
for i, x := range index {
if i > 0 {