-
Notifications
You must be signed in to change notification settings - Fork 1
/
map.go
132 lines (116 loc) · 3.78 KB
/
map.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
// Code generated by GCG. DO NOT EDIT.
// Go Code Generator 0.0.8 (https://github.com/OhYee/gcg)
package fp
import ()
// MapString make a map from the current slice to a new slice using the function
func MapString(f func(string, int) string, input []string) (output []string) {
output = make([]string, 0)
for idx, data := range input {
output = append(output, f(data, idx))
}
return
}
// MapInt make a map from the current slice to a new slice using the function
func MapInt(f func(int, int) int, input []int) (output []int) {
output = make([]int, 0)
for idx, data := range input {
output = append(output, f(data, idx))
}
return
}
// MapInt8 make a map from the current slice to a new slice using the function
func MapInt8(f func(int8, int) int8, input []int8) (output []int8) {
output = make([]int8, 0)
for idx, data := range input {
output = append(output, f(data, idx))
}
return
}
// MapInt16 make a map from the current slice to a new slice using the function
func MapInt16(f func(int16, int) int16, input []int16) (output []int16) {
output = make([]int16, 0)
for idx, data := range input {
output = append(output, f(data, idx))
}
return
}
// MapInt32 make a map from the current slice to a new slice using the function
func MapInt32(f func(int32, int) int32, input []int32) (output []int32) {
output = make([]int32, 0)
for idx, data := range input {
output = append(output, f(data, idx))
}
return
}
// MapInt64 make a map from the current slice to a new slice using the function
func MapInt64(f func(int64, int) int64, input []int64) (output []int64) {
output = make([]int64, 0)
for idx, data := range input {
output = append(output, f(data, idx))
}
return
}
// MapUint8 make a map from the current slice to a new slice using the function
func MapUint8(f func(uint8, int) uint8, input []uint8) (output []uint8) {
output = make([]uint8, 0)
for idx, data := range input {
output = append(output, f(data, idx))
}
return
}
// MapUint16 make a map from the current slice to a new slice using the function
func MapUint16(f func(uint16, int) uint16, input []uint16) (output []uint16) {
output = make([]uint16, 0)
for idx, data := range input {
output = append(output, f(data, idx))
}
return
}
// MapUint32 make a map from the current slice to a new slice using the function
func MapUint32(f func(uint32, int) uint32, input []uint32) (output []uint32) {
output = make([]uint32, 0)
for idx, data := range input {
output = append(output, f(data, idx))
}
return
}
// MapUint64 make a map from the current slice to a new slice using the function
func MapUint64(f func(uint64, int) uint64, input []uint64) (output []uint64) {
output = make([]uint64, 0)
for idx, data := range input {
output = append(output, f(data, idx))
}
return
}
// MapFloat32 make a map from the current slice to a new slice using the function
func MapFloat32(f func(float32, int) float32, input []float32) (output []float32) {
output = make([]float32, 0)
for idx, data := range input {
output = append(output, f(data, idx))
}
return
}
// MapFloat64 make a map from the current slice to a new slice using the function
func MapFloat64(f func(float64, int) float64, input []float64) (output []float64) {
output = make([]float64, 0)
for idx, data := range input {
output = append(output, f(data, idx))
}
return
}
// MapByte make a map from the current slice to a new slice using the function
func MapByte(f func(byte, int) byte, input []byte) (output []byte) {
output = make([]byte, 0)
for idx, data := range input {
output = append(output, f(data, idx))
}
return
}
// Map make a map from the current slice to a new slice using the function
func Map(f func(any, int) any, input []any) (output []any) {
output = make([]any, 0)
for idx, data := range input {
output = append(output, f(data, idx))
}
return
}