어린 시절 수학 시간을 함께한 함수.
하지만 수학에서 말하는 함수와 프로그래밍에서 말하는 함수는 다르다. 물론 functional language 도 있지만, 일반적인 프로그래밍에서의 함수를 알아보자.
함수는 하나의 작업을 수행하기 위해 독립적으로 설계된 코드 집합이다. 프로그래밍 함수는 반복 잡업을 줄이기 위해 사용하는데 함수를 사용하면 모듈화로 전체적인 코드 가독성이 좋아지고, 유지보수하기에도 용이하다.
package main
import "fmt"
func Add(a int, b int) int {
return a + b
}
func Divide(a, b int) (int, bool) {
if b == 0 {
return 0, false
}
return 1, true
}
func main() {
c := Add(3, 9)
fmt.frintln(c)
d, result := Divide(3, 0)
fmt.frintln(d, result)
}
기본 함수 작성은 Add 함수처럼 작성한다.
아래 Divide 함수처럼 멀티 반환 함수도 작성 가능하며,
다른 언어처럼 재귀(Recursive call) 함수도 가능하다.