diff options
| author | Rob Pike <r@golang.org> | 2009-07-16 21:24:30 -0700 | 
|---|---|---|
| committer | Rob Pike <r@golang.org> | 2009-07-16 21:24:30 -0700 | 
| commit | 7eaf730218c2d51fbf24fdb6638706cc2751a957 (patch) | |
| tree | 7a42ccf4fc5b82019d7c88878e1b08c208435dde /src/pkg/json/struct.go | |
| parent | 5ed6000d3ca0a62b3b8a2aae6ec6b97f162b507b (diff) | |
| download | golang-7eaf730218c2d51fbf24fdb6638706cc2751a957.tar.gz | |
use FieldByName where possible.
R=rsc
DELTA=20  (0 added, 12 deleted, 8 changed)
OCL=31758
CL=31758
Diffstat (limited to 'src/pkg/json/struct.go')
| -rw-r--r-- | src/pkg/json/struct.go | 6 | 
1 files changed, 2 insertions, 4 deletions
| diff --git a/src/pkg/json/struct.go b/src/pkg/json/struct.go index 81887b1c8..ee23d1e9d 100644 --- a/src/pkg/json/struct.go +++ b/src/pkg/json/struct.go @@ -184,10 +184,8 @@ func (b *_StructBuilder) Key(k string) Builder {  	}  	if v, ok := reflect.Indirect(b.val).(*reflect.StructValue); ok {  		t := v.Type().(*reflect.StructType); -		for i := 0; i < t.NumField(); i++ { -			if t.Field(i).Name == k { -				return &_StructBuilder{ v.Field(i) } -			} +		if field, ok := t.FieldByName(k); ok { +			return &_StructBuilder{ v.Field(field.Index) }  		}  		// Again, case-insensitive.  		for i := 0; i < t.NumField(); i++ { | 
