- Like
C
with some type inference
- Ignore the lambda expression usage, this is just so I can run the code easily in a single source block
// Here’s a function that takes two ints and returns their sum as an int.
plus := func(a int, b int) int {
// Go requires explicit returns, i.e. it won’t automatically return the
// value of the last expression.
return a + b
}
// When you have multiple consecutive parameters of the same type, you may
// omit the type name for the like-typed parameters up to the final parameter
// that declares the type.
plusPlus := func(a, b, c int) int {
return a + b + c
}
// Call a function just as you’d expect, with name(args).
res := plus(1, 2)
fmt.Println("1+2 =", res)
res = plusPlus(1, 2, 3)
fmt.Println("1+2+3 =", res)
1+2 = 3
1+2+3 = 6
Attribution