golang은 클래스가 없으므로 타 언어의 상속기능을 제공하지 않습니다.
하지만 구조체 임베딩을 사용하면 상속과 비슷한 효과를 낼 수 있습니다.
import (
"sync"
)
// 임베딩 미사용
type Client struct {
ClientMutex sync.Mutex
// ...
}
...
client := Client{}
client.ClientMutex.Lock()
// ...
client.ClientMutex.Unlock()
// 임베딩 사용
type Client struct {
sync.Mutex
// ...
}
...
client := Client{};
client.Lock();
// ...
client.Unlock()
Client 구조체에서 Mutex의 메서드에 직접 접근이 가능합니다.
'golang' 카테고리의 다른 글
golang init 함수 호출 시점 (0) | 2024.07.05 |
---|---|
golang 메모리 패딩 고려한 구조체 최적화 (0) | 2024.07.05 |
golang json gojay 라이브러리 (0) | 2024.07.05 |
golang file scanner (0) | 2024.07.05 |
golang 정규식 문자열 치환 (0) | 2024.07.05 |