🔥 Go 언어의 함수

238자
4분

함수는 0개 이상의 인수를 받는 코드 블록입니다. 함수를 정의할 때는 함수 이름과 함께 매개변수의 이름과 타입을 명시해야 합니다 아래 예제에서 add 함수는 int 타입의 매개변수 xy를 받고 있습니다.

go
func add(x int, y int) int {
    return x + y
}
 
go
func add(x int, y int) int {
    return x + y
}
 

Go에서는 변수 이름 뒤에 타입을 명시하는 것이 특징입니다. 이는 Go의 독특한 문법 중 하나인데요, 자세한 내용은 Go의 선언 구문을 참고하면 좋을 것 같습니다.

함수를 호출할 때는 정의된 매개변수의 순서와 타입에 맞게 인수를 전달해야 합니다. 아래는 add 함수를 호출하는 예시 코드입니다.

go
package main
 
import "fmt"
 
func add(x int, y int) int {
    return x + y
}
 
func main() {
    result := add(42, 13)
    fmt.Println("42 + 13 =", result) // "42 + 13 = 55"를 출력해요.
}
 
go
package main
 
import "fmt"
 
func add(x int, y int) int {
    return x + y
}
 
func main() {
    result := add(42, 13)
    fmt.Println("42 + 13 =", result) // "42 + 13 = 55"를 출력해요.
}
 

위 코드에서 main 함수는 add 함수를 호출하면서 4213을 인수로 전달하고 있습니다. add 함수는 두 인수를 더한 결과를 반환하죠. 반환된 값은 result 변수에 저장되고, fmt.Println을 통해 출력됩니다.

함수를 사용하면 코드를 모듈화하고 재사용성을 높일 수 있어요. 또한 복잡한 로직을 함수로 추상화하여 코드의 가독성을 향상시킬 수 있죠. 함수는 프로그램을 구성하는 기본 단위 중 하나이므로, 함수를 잘 활용하는 것이 중요합니다.

함수의 매개변수와 반환값의 타입을 명확히 정의하는 것도 중요한데요, 이를 통해 함수의 인터페이스를 명확히 하고 타입 안정성을 높일 수 있거든요. Go의 강력한 타입 시스템은 컴파일 시점에서 많은 오류를 잡아낼 수 있도록 도와준답니다.

함수를 작성할 때는 가능한 한 작고 단순하게 유지하는 것이 좋아요. 함수가 너무 길어지거나 복잡해지면 이해하기 어려워지고 유지보수가 힘들어지니까요. 필요하다면 함수를 더 작은 함수로 쪼개는 것도 좋은 방법입니다.

YouTube 영상

채널 보기
미들웨어 vs 가드, 왜 NestJS에서는 가드가 더 똑똑할까? | NestJS 가이드
NestJS 인터셉터에서 map 연산자로 응답을 변환하는 방법 | NestJS 가이드
존 매카시가 들려주는 인공지능의 탄생 이야기
C++ 속의 펑터 | 프로그래머를 위한 카테고리 이론
인터셉터와 RxJS로 캐시 시스템 구축하기 | NestJS 가이드
함수 타입과 Hom-Set 이해하기 | 프로그래머를 위한 카테고리 이론
매번 ValidationPipe 복붙하세요? NestJS 전역 파이프로 한 번에 해결하기 | NestJS 가이드
NestJS 가드, 바이딩과 스코프 | NestJS 가이드