From: Don Byington Date: Wed, 3 Oct 2018 21:54:54 +0000 (+0000) Subject: reflect: add an example for Kind X-Git-Tag: go1.12beta1~906 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=d16e4d34fc24c2c4ad6d4965edb17204ca5e1c67;p=gostls13.git reflect: add an example for Kind 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 TryBot-Result: Gobot Gobot Reviewed-by: Ian Lance Taylor --- diff --git a/src/reflect/example_test.go b/src/reflect/example_test.go index f959b95846..23c08e4950 100644 --- a/src/reflect/example_test.go +++ b/src/reflect/example_test.go @@ -13,6 +13,24 @@ import ( "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