Fixes #27990
Change-Id: I0f09fc6f68cec770b1c26eed2315afbf6bf6cd4d
GitHub-Last-Rev:
8486e6d5019c6c21b10e5fcf10a2727cf2705174
GitHub-Pull-Request: golang/go#27991
Reviewed-on: https://go-review.googlesource.com/c/139417
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
"reflect"
)
+func ExampleKind() {
+ for _, v := range []interface{}{"hi", 42, func() {}} {
+ switch v := reflect.ValueOf(v); v.Kind() {
+ case reflect.String:
+ fmt.Println(v.String())
+ case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
+ fmt.Println(v.Int())
+ default:
+ fmt.Printf("unhandled kind %s", v.Kind())
+ }
+ }
+
+ // Output:
+ // hi
+ // 42
+ // unhandled kind func
+}
+
func ExampleMakeFunc() {
// swap is the implementation passed to MakeFunc.
// It must work in terms of reflect.Values so that it is possible