@@ -19,7 +19,7 @@ go get -u github.com/logic-building/functional-go/set/
1919```
2020[[constraint]]
2121name = "github.com/logic-building/functional-go"
22- version = "8.4 .0"
22+ version = "8.5 .0"
2323```
2424
2525### Quick Start
@@ -33,6 +33,100 @@ func square(num int) int {
3333 return num * num
3434}
3535
36+ ```
37+ #### Four variants of function 1 is given above and 3 are given below
38+ ##### MapInt, MapIntPtr, MapIntErr, MapIntPtrErr
39+ ###MapIntPtr
40+ ```
41+ package main
42+
43+ import (
44+ "fmt"
45+ "github.com/logic-building/functional-go/fp"
46+ )
47+
48+ var v1 int = 1
49+ var v2 int = 2
50+ var v3 int = 3
51+ var v4 int = 4
52+
53+ func main() {
54+ result := fp.MapIntPtr(square, []*int{&v1, &v2, &v3, &v4})
55+ fmt.Println(*result[0], *result[1], *result[2], *result[3])
56+ }
57+
58+ func square(num *int) *int {
59+ r := *num * *num
60+ return &r
61+ }
62+
63+ /*
64+ output:
65+ 1 4 9 16
66+ */
67+ ```
68+
69+ ###MapIntErr
70+ ```
71+ package main
72+
73+ import (
74+ "errors"
75+ "fmt"
76+ "github.com/logic-building/functional-go/fp"
77+ )
78+
79+ func main() {
80+ result, _ := fp.MapIntErr(square, []int{1, 2, 3, 4})
81+ fmt.Println(result[0], result[1], result[2], result[3])
82+ }
83+
84+ func square(num int) (int, error) {
85+ if num == -1 {
86+ return 0, errors.New("-1 is not valid")
87+ }
88+ r := num * num
89+ return r, nil
90+ }
91+
92+ /*
93+ output:
94+ 1 4 9 16
95+ */
96+ ```
97+
98+ ###MapIntPtrErr
99+ ```
100+ package main
101+
102+ import (
103+ "errors"
104+ "fmt"
105+
106+ "github.com/logic-building/functional-go/fp"
107+ )
108+
109+ func main() {
110+ var v1 int = 1
111+ var v2 int = 2
112+ var v3 int = 3
113+ var v4 int = 4
114+
115+ result, _ := fp.MapIntPtrErr(square, []*int{&v1, &v2, &v3, &v4})
116+ fmt.Println(*result[0], *result[1], *result[2], *result[3])
117+ }
118+
119+ func square(num *int) (*int, error) {
120+ if *num == -1 {
121+ return nil, errors.New("-1 is not valid")
122+ }
123+ r := *num * *num
124+ return &r, nil
125+ }
126+ /*
127+ output:
128+ 1 4 9 16
129+ */
36130```
37131
38132#### Generate functional code locally in project for user defined data type
0 commit comments