mirror of https://github.com/golang/go.git
reflect: add example for StructTag
Fix a few minor vet quibbles while I'm here. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/13235059
This commit is contained in:
parent
60513bf2f4
commit
e07b5baf4f
|
|
@ -948,7 +948,7 @@ func TestMap(t *testing.T) {
|
|||
|
||||
newm := newmap.Interface().(map[string]int)
|
||||
if len(newm) != len(m) {
|
||||
t.Errorf("length after copy: newm=%d, m=%d", newm, m)
|
||||
t.Errorf("length after copy: newm=%d, m=%d", len(newm), len(m))
|
||||
}
|
||||
|
||||
for k, v := range newm {
|
||||
|
|
@ -3478,7 +3478,7 @@ func TestAllocsInterfaceBig(t *testing.T) {
|
|||
}
|
||||
v := ValueOf(S{})
|
||||
if allocs := testing.AllocsPerRun(100, func() { v.Interface() }); allocs > 0 {
|
||||
t.Errorf("allocs:", allocs)
|
||||
t.Error("allocs:", allocs)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -3495,7 +3495,7 @@ func TestAllocsInterfaceSmall(t *testing.T) {
|
|||
}
|
||||
v := ValueOf(int64(0))
|
||||
if allocs := testing.AllocsPerRun(100, func() { v.Interface() }); allocs > 0 {
|
||||
t.Errorf("allocs:", allocs)
|
||||
t.Error("allocs:", allocs)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -50,3 +50,17 @@ func ExampleMakeFunc() {
|
|||
// 1 0
|
||||
// 3.14 2.72
|
||||
}
|
||||
|
||||
func ExampleStructTag() {
|
||||
type S struct {
|
||||
F string `species:"gopher" color:"blue"`
|
||||
}
|
||||
|
||||
s := S{}
|
||||
st := reflect.TypeOf(s)
|
||||
field := st.Field(0)
|
||||
fmt.Println(field.Tag.Get("color"), field.Tag.Get("species"))
|
||||
|
||||
// Output:
|
||||
// blue gopher
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue