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

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 영상

채널 보기
마지막편, 트라이 노드를 50% 이상 줄이는 방법? 압축 트라이 성능 분석 | Trie 자료구조 이야기
AI는 왜 수백 차원의 벡터를 사용할까? 고차원 공간과 행렬 | 선형대수학
트라이(Trie)를 이용한 자동 완성 알고리즘 | Trie 자료구조 이야기
AI 추천 시스템의 원리, 벡터 사이의 각도와 코사인 유사도 | 선형대수학
투영과 예측, 그리고 선형 결합 | 선형대수학
AI를 위한 선형대수학 - 소개 | 선형대수학
스칼라 곱셈과 내적의 기하학적 의미 | 선형대수학
숫자 하나가 AI 모델의 운명을 바꾼다? | 선형대수학