Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 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