当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


GO Kind用法及代码示例


GO语言"reflect"包中"Kind"类型的用法及代码示例。

Kind 表示 Type 表示的特定类型的类型。零种类不是有效种类。

用法:

type Kind uint

const (
    Invalid Kind = iota
    Bool
    Int
    Int8
    Int16
    Int32
    Int64
    Uint
    Uint8
    Uint16
    Uint32
    Uint64
    Uintptr
    Float32
    Float64
    Complex64
    Complex128
    Array
    Chan
    Func
    Interface
    Map
    Pointer
    Slice
    String
    Struct
    UnsafePointer
)

例子:

package main

import (
	"fmt"
	"reflect"
)

func main() {
	for _, v := range []any{"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())
		}
	}

}

输出:

hi
42
unhandled kind func

相关用法


注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 Kind。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。