[go] Go 언어에서 메소드 체인

Go 언어는 간결하면서도 강력한 기능을 제공하여 개발자들이 효율적으로 코드를 작성할 수 있도록 도와줍니다. 이 중에서도 메소드 체인은 코드의 가독성을 높이고 유지 보수성을 개선하는데 큰 도움을 줍니다.

메소드 체인이란?

메소드 체인은 하나의 객체에서 여러 메소드를 연달아 호출하는 방식을 의미합니다. 이를 통해 코드를 간결하게 작성할 수 있으며, 불필요한 중복을 피할 수 있습니다. 또한, 메소드 체인을 사용하면 코드의 의도를 명확하게 표현할 수 있어 가독성을 높일 수 있습니다.

예시 코드

아래는 Go 언어에서 메소드 체인을 사용하는 간단한 예시 코드입니다.

package main

import "fmt"

type Calculator struct {
    result int
}

func (c *Calculator) Add(num int) *Calculator {
    c.result += num
    return c
}

func (c *Calculator) Subtract(num int) *Calculator {
    c.result -= num
    return c
}

func main() {
    result := new(Calculator).
        Add(10).
        Subtract(5).
        Add(3).
        Subtract(2).
        result

    fmt.Println(result) // Output: 6
}

위의 코드에서는 Calculator라는 구조체에 AddSubtract라는 메소드가 있습니다. 이 메소드들은 계산기 객체에 값을 더하거나 뺄 수 있도록 구현되어 있습니다.

메인 함수에서는 new 키워드를 사용하여 Calculator 객체를 생성한 후, 메소드 체인을 사용하여 순차적으로 메소드를 호출합니다. 체인의 마지막에 있는 result 필드는 최종 계산 결과를 저장하고 있습니다.

위 코드를 실행하면 6이라는 결과가 출력되는 것을 확인할 수 있습니다.

결론

Go 언어에서 메소드 체인은 코드의 가독성과 유지 보수성을 향상시키는 강력한 기능입니다. 객체 지향 프로그래밍의 원칙을 잘 따르면서도 간결한 구문을 제공하기 때문에, 개발자들은 이를 적극적으로 활용하여 효율적인 코드를 작성할 수 있습니다.

참고 자료: