[go] Go 언어에서 함수와 메소드의 관례
Go 언어는 간결하고 효율적인 코드 작성을 지향하는 언어입니다. 이러한 목표를 달성하기 위해 Go 언어에는 함수와 메소드의 작성 규칙이 있습니다. 이번 블로그 포스트에서는 Go 언어에서 함수와 메소드를 작성할 때 지켜야 할 관례에 대해 알아보겠습니다.
함수
함수는 Go 언어에서 기본적인 코드 블록을 구성하는 단위입니다. 함수를 작성할 때에는 다음과 같은 관례를 따르는 것이 좋습니다:
함수 이름
- 함수 이름은 소문자로 작성합니다.
- 여러 단어로 이루어진 함수 이름은 언더스코어(
_
)를 사용하여 구분합니다. - 함수 이름은 해당 함수가 수행하는 작업을 명확하게 표현해야 합니다.
func calculateSum(a, b int) int {
return a + b
}
함수 매개변수
- 매개변수 이름은 가능한한 명확하게 작성해야 합니다.
- 여러 개의 매개변수가 있는 경우, 각 매개변수는 쉼표로 구분합니다.
func calculateSum(a, b int) int {
return a + b
}
함수 반환값
- 반환값의 타입은 가능한한 명확하게 지정해야 합니다.
- 함수가 한 개 이상의 반환값을 반환할 경우, 반환값의 타입을 괄호(
()
)로 묶어서 표현합니다.
func calculateSum(a, b int) int {
return a + b
}
func calculateSumAndDifference(a, b int) (int, int) {
return a + b, a - b
}
메소드
메소드는 Go 언어에서 특정 타입에 속한 함수로서, 해당 타입의 값을 조작하기 위해 사용됩니다. 메소드를 작성할 때에는 다음과 같은 관례를 따르는 것이 좋습니다:
메소드 이름
- 메소드 이름은 첫 글자를 대문자로 작성합니다.
- 여러 단어로 이루어진 메소드 이름은 각 단어의 첫 글자를 대문자로 작성합니다.
- 메소드 이름은 해당 메소드가 수행하는 작업과 연관된 타입을 명확하게 표현해야 합니다.
type Rectangle struct {
width int
height int
}
func (r Rectangle) CalculateArea() int {
return r.width * r.height
}
메소드 리시버
- 메소드의 첫 번째 매개변수는 메소드가 작동하는 대상을 나타내는 타입입니다.
- 메소드 리시버는 해당 타입의 첫 글자를 따서 작성합니다.
type Rectangle struct {
width int
height int
}
func (r Rectangle) CalculateArea() int {
return r.width * r.height
}
위의 예시에서 Rectangle
타입의 변수에 CalculateArea
메소드를 호출할 수 있습니다.
마무리
Go 언어에서 함수와 메소드를 작성할 때, 위에서 언급된 관례를 따르는 것이 좋습니다. 이러한 관례는 코드의 가독성을 높이고 효율적인 개발을 도와줍니다. Go 개발자라면, 이러한 관례를 숙지하고 일관성 있는 코드 작성에 신경쓰도록 해야합니다.