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
diff --git a/src/pkg/reflect/all_test.go b/src/pkg/reflect/all_test.go
index 1376286..a2f639f 100644
--- a/src/pkg/reflect/all_test.go
+++ b/src/pkg/reflect/all_test.go
@@ -948,7 +948,7 @@
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 @@
}
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 @@
}
v := ValueOf(int64(0))
if allocs := testing.AllocsPerRun(100, func() { v.Interface() }); allocs > 0 {
- t.Errorf("allocs:", allocs)
+ t.Error("allocs:", allocs)
}
}
diff --git a/src/pkg/reflect/example_test.go b/src/pkg/reflect/example_test.go
index 62455c0..cca28ee 100644
--- a/src/pkg/reflect/example_test.go
+++ b/src/pkg/reflect/example_test.go
@@ -50,3 +50,17 @@
// 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
+}