🔥 함수 파라미터의 타입 생략하기

215자
3분

Go 언어에서 함수를 정의할 때, 연속된 파라미터들이 같은 타입을 가진다면 마지막 파라미터를 제외한 나머지 파라미터들의 타입을 생략할 수 있습니다. 이렇게 하면 코드가 간결해지고 가독성이 좋아집니다.

예를 들어, 다음과 같이 두 개의 정수형 파라미터를 받는 함수가 있다고 해보죠.

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

여기서 xy는 모두 int 타입입니다. 이런 경우에는 마지막 파라미터인 y의 타입만 명시하고, x의 타입은 생략할 수 있습니다.

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

이렇게 코드를 작성하면 훨씬 간결해보이네요. 그럼 실제로 이 함수를 사용하는 예제 코드를 살펴볼까요?

go
package main
 
import "fmt"
 
func add(x, y int) int {
    return x + y  // x와 y를 더한 값을 반환합니다.
}
 
func main() {
    result := add(42, 13)  // add 함수를 호출하고 결과를 result 변수에 저장합니다.
    fmt.Println(result)   // result 값을 출력합니다.
}
 
go
package main
 
import "fmt"
 
func add(x, y int) int {
    return x + y  // x와 y를 더한 값을 반환합니다.
}
 
func main() {
    result := add(42, 13)  // add 함수를 호출하고 결과를 result 변수에 저장합니다.
    fmt.Println(result)   // result 값을 출력합니다.
}
 

위 코드를 실행하면 55가 출력될 거예요. add 함수는 두 개의 정수 4213을 받아서 그 합을 반환하죠. 그리고 main 함수에서는 add 함수의 결과값을 result 변수에 저장한 후 출력합니다.

함수 파라미터의 타입을 생략하는 것은 코드를 간결하게 만들어주는 유용한 기능입니다. 하지만 파라미터의 의미를 명확히 전달하기 위해서는 적절한 파라미터 이름을 사용하는 것도 중요하답니다.

이렇게 Go 언어에서는 함수 파라미터의 타입을 생략할 수 있어서 코드를 더욱 간결하고 읽기 쉽게 만들 수 있습니다. 여러분도 함수를 정의할 때 이 기능을 활용해보세요!

YouTube 영상

채널 보기
우리가 매일 쓰는 맞춤법 검사기와 라우터 속에 숨겨진 알고리즘은? | Trie 자료구조 이야기
AI를 위한 선형대수학 - 소개 | 선형대수학
AI는 왜 수백 차원의 벡터를 사용할까? 고차원 공간과 행렬 | 선형대수학
벡터의 정의와 덧셈 연산 | 선형대수학
트라이(Trie)에서 단어를 삭제하는 방법 | Trie 자료구조 이야기
마지막편, 10억 개 데이터 검색이 0.3ms면 끝나는 이유와 LSM-Tree의 등장
숫자 하나가 AI 모델의 운명을 바꾼다? | 선형대수학
트라이(Trie) 자료구조: 파이썬으로 삽입(Insert) 연산 구현하기 | Trie 자료구조 이야기