MCPcopy
hub / github.com/duke-git/lancet / clone

Method clone

convertor/convertor_internal.go:14–90  ·  view source on GitHub ↗

clone return a duplicate of passed item.

(v reflect.Value)

Source from the content-addressed store, hash-verified

12
13// clone return a duplicate of passed item.
14func (c *cloner) clone(v reflect.Value) reflect.Value {
15 switch v.Kind() {
16 case reflect.Invalid:
17 return reflect.ValueOf(nil)
18
19 // bool
20 case reflect.Bool:
21 return reflect.ValueOf(v.Bool())
22
23 //int
24 case reflect.Int:
25 return reflect.ValueOf(int(v.Int()))
26 case reflect.Int8:
27 return reflect.ValueOf(int8(v.Int()))
28 case reflect.Int16:
29 return reflect.ValueOf(int16(v.Int()))
30 case reflect.Int32:
31 return reflect.ValueOf(int32(v.Int()))
32 case reflect.Int64:
33 return reflect.ValueOf(v.Int())
34
35 // uint
36 case reflect.Uint:
37 return reflect.ValueOf(uint(v.Uint()))
38 case reflect.Uint8:
39 return reflect.ValueOf(uint8(v.Uint()))
40 case reflect.Uint16:
41 return reflect.ValueOf(uint16(v.Uint()))
42 case reflect.Uint32:
43 return reflect.ValueOf(uint32(v.Uint()))
44 case reflect.Uint64:
45 return reflect.ValueOf(v.Uint())
46
47 // float
48 case reflect.Float32:
49 return reflect.ValueOf(float32(v.Float()))
50 case reflect.Float64:
51 return reflect.ValueOf(v.Float())
52
53 // complex
54 case reflect.Complex64:
55 return reflect.ValueOf(complex64(v.Complex()))
56 case reflect.Complex128:
57 return reflect.ValueOf(v.Complex())
58
59 // string
60 case reflect.String:
61 return reflect.ValueOf(v.String())
62
63 // array
64 case reflect.Array, reflect.Slice:
65 return c.cloneArray(v)
66
67 // map
68 case reflect.Map:
69 return c.cloneMap(v)
70
71 // Ptr

Callers 5

cloneArrayMethod · 0.95
cloneMapMethod · 0.95
clonePtrMethod · 0.95
cloneStructMethod · 0.95
DeepCloneFunction · 0.95

Calls 7

cloneArrayMethod · 0.95
cloneMapMethod · 0.95
clonePtrMethod · 0.95
cloneStructMethod · 0.95
KindMethod · 0.80
StringMethod · 0.65
ValueOfMethod · 0.45

Tested by

no test coverage detected