diff options
author | Russ Cox <rsc@golang.org> | 2014-10-15 13:33:00 -0400 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2014-10-15 13:33:00 -0400 |
commit | 975a1633cf3a40984fd5a7c924eed78f91f36c52 (patch) | |
tree | e4d90bb7c71ddab888822be05fa439f33be6ac2f /src | |
parent | 40c2dd45e4056e903046d02982a961d0e3fbf0b9 (diff) | |
download | go-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')
-rw-r--r-- | src/reflect/value.go | 3 |
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 { |