Go interface: 대소문자 의 의미
728x90
Go 에서는 대소문자로 해당 패키지 내부에서만 호출할지 외부에서도 호출할지 를 결정 짓는다.
오늘 파이썬에 익숙한 나머지.. 이에러로 30분을 잡아먹었다.
참고할만한 관련 글들
https://blog.billo.io/devposts/golang_naming_convention/
https://stackoverflow.com/questions/60109478/go-interface-cannot-assign-value-to-unexported-field
소문자로 service 를 명시한다면 내보내지 않은 Field에 값을 할당 할수 없다며 불평불만을 내뱉는다.
수정후
type DeviceHandler struct {
Service service.DeviceService
}
dh := handlers.DeviceHandler{Service: service.NewDeviceService(deviceRepositoryDb)}
mux.Get("/ws", http.HandlerFunc(dh.WsEndpoint))
대문자 Service 에 key, value형태로 인터페이스를 init할수 있고 더이상 에러를 내뱉지 않는다.
728x90
'Go' 카테고리의 다른 글
Publisher Subscriber pattern (발행 구독 패턴) (0) | 2021.10.25 |
---|---|
Handling databases using gorm (0) | 2021.10.20 |
Docker 로 Go 프로젝트 빌드 & 실행하기 (0) | 2021.10.05 |
Go - 삽입정렬 구현하기 (0) | 2021.10.03 |
Go - 구조화된 로그 남기기 (0) | 2021.09.24 |
댓글
이 글 공유하기
다른 글
-
Publisher Subscriber pattern (발행 구독 패턴)
Publisher Subscriber pattern (발행 구독 패턴)
2021.10.25 -
Handling databases using gorm
Handling databases using gorm
2021.10.20 -
Docker 로 Go 프로젝트 빌드 & 실행하기
Docker 로 Go 프로젝트 빌드 & 실행하기
2021.10.05 -
Go - 삽입정렬 구현하기
Go - 삽입정렬 구현하기
2021.10.03