[Tucker의 Go 언어 프로그래밍] 07장 함수

Coen·2023년 9월 26일
1

tucker-go

목록 보기
4/18
post-thumbnail

이 글은 골든래빗 《Tucker의 Go 언어 프로그래밍》의 07장 써머리입니다.

07 함수

7.1 함수 정의

  • 함수는 함수 키워드, 함수명, 매개변수, 반환타입, 함수 코드 블록 으로 구성된다.

7.2 함수를 호출하면 생기는 일

  • 함수를 호출할 때 입력하는 값을 argument라고 하며, 외부로부터 입력받는 변수를 parameter라고 부른다.
  • 아래 그림과 같이 인수를 매개변수에 복사하고 반환하는 값은 함수가 호출된 곳을 대체한다.

    핵심포인트
    인수는 매개변수로 복사된다. 매개변수와 함수 내에서 선언된 변수는 함수가 종료되면 변수 범위를 벗어나서 접근하지 못한다.

7.3 함수는 왜 쓰나?

  • 반복 사용되는 코드를 묶을 수 있다.
  • 중복 코드를 제거하여 코드를 간결하게 만들 수 있다.

7.3.1 멀티 반환 함수

  • Golang은 값을 여러 개 반환할 수 있다.
func MultiReturns(a, b int) (int, error) {
	if a + b < 0 {
		return -1, errors.New("홀수입니다.")
	}
	return a + b, nil
}

7.3.2 변수명을 지정해 반환하기

  • 함수 선언부에 반환 타입과 함께 변수명을 지정하면 return문으로 해당 변수를 반환할 수 있다.
func MultiReturns(a, b int) (num int, err error) {
	if a + b < 0 {
		err = errors.New("홀수입니다.")
		return
	}
	num = a + b
	return
}

7.4 재귀 호출

  • 함수 안에서 자기 자신 함수를 다시 호출하는 것
  • 재귀는 탈출조건을 정해야 탈출이 가능함~
profile
백엔드 프로그래머

0개의 댓글