예제 #1
0
파일: reflect.go 프로젝트: nono/Go-Redis
// TODO: document me
//
func GetByteArrayLen(v reflect.Value) (len int, ok bool) {
	switch v := v.(type) {
	case reflect.ArrayOrSliceValue:
		aosv := reflect.ArrayOrSliceValue(v)
		return aosv.Len(), true
	}
	return
}
예제 #2
0
파일: reflect.go 프로젝트: nono/Go-Redis
// TODO: document me
//
func GetByteArray(v reflect.Value) (arr []byte, ok bool) {
	switch v := v.(type) {
	case reflect.ArrayOrSliceValue:
		aosv := reflect.ArrayOrSliceValue(v)
		arr = make([]byte, aosv.Len())
		for i := 0; i < aosv.Len(); i++ {
			arr[i] = aosv.Elem(i).(*reflect.Uint8Value).Get()
		}
		return arr, true
	}
	return
}