Family Day update
This commit is contained in:
parent
aac6731f2c
commit
9ad63ea473
2442 changed files with 39761 additions and 8255 deletions
27
Task/Call-a-function/Go/call-a-function-12.go
Normal file
27
Task/Call-a-function/Go/call-a-function-12.go
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
func mkAdd(a int) func(int) int {
|
||||
return func(b int) int {
|
||||
return a + b
|
||||
}
|
||||
}
|
||||
func sum(x, y int) int {
|
||||
return x + y
|
||||
}
|
||||
|
||||
func partialSum(x int) func(int) int {
|
||||
return func(y int) int {
|
||||
return sum(x, y)
|
||||
}
|
||||
}
|
||||
func main() {
|
||||
// Is partial application possible and how
|
||||
add2 := mkAdd(2)
|
||||
add3 := mkAdd(3)
|
||||
fmt.Println(add2(5), add3(6)) // prt 7 9
|
||||
// Currying functions in go
|
||||
partial := partialSum(13)
|
||||
fmt.Println(partial(5)) //prt 18
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue