pointer2 Effective Go - Methods - 출처: https://go.dev/doc/effective_go#methods - Methods 메소드는 포인터나 인터페이스를 제외하고 명명된 유형에 대해 정의될 수 있다. 즉 Receiver가 반드시 구조체가 아니어도 된다. 예를 들어 Append라는 함수를 slice의 메소드로 정의할 수 있는데, 이렇게 하기 위해서는 우선 메소드를 묶을 수 있도록 명명된 유형을 정의해야 한다. 그리고 Receiver로 해당 형을 기술해준다. type ByteSlice []byte func (slice ByteSlice) Append(data []byte) []byte { // Body exactly the same as the Append function defined above. } 위의 메소드는 갱신된 sli.. 2022. 5. 17. Go - pointers & errors - 출처: https://quii.gitbook.io/learn-go-with-tests/go-fundamentals/pointers-and-errors - 개요 struct의 상태를 갱신하거나 크기가 큰 객체에 대해 값 복사를 하지 않고 참조하기 위한 pointer를 알아본다. 타 언어에서 null에 해당하는 개념인 nil을 알아본다. 또한 Error 처리를 간단하게 살펴본다. 이번에는 간단한 Bitcoin 입출금 시스템 구현 하면서 위에서 언급한 개념들을 살펴보자. - Pointer struct를 사용할 때 마치 Java의 setter처럼 상태를 관리하거나 상태를 변경하도록 메소드를 외부로 노출해야하는 경우가 있다. 이전 struct에서는 field에 직접 접근할 수 있었지만 이번에는 내부 상태를 외.. 2021. 12. 26. 이전 1 다음