mirror of
https://github.com/golang/go
synced 2024-11-02 13:42:29 +00:00
reflect: add an example for Kind
Fixes #27990
Change-Id: I0f09fc6f68cec770b1c26eed2315afbf6bf6cd4d
GitHub-Last-Rev: 8486e6d501
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>
This commit is contained in:
parent
85c9c85955
commit
d16e4d34fc
1 changed files with 18 additions and 0 deletions
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue