728x90

Go 에서는 대소문자로 해당 패키지 내부에서만 호출할지 외부에서도 호출할지 를 결정 짓는다.

오늘 파이썬에 익숙한 나머지.. 이에러로 30분을 잡아먹었다.

 

참고할만한 관련 글들

https://blog.billo.io/devposts/golang_naming_convention/

 

Golang 에서의 명명 규칙

Go언어에서 사용되는 명명 규칙을 알아본다

blog.billo.io

 

https://stackoverflow.com/questions/60109478/go-interface-cannot-assign-value-to-unexported-field

 

Go interface: Cannot assign value to unexported field

I try to mock some struct for unit testing and I use following site I wrote following: Doer package user import "errors" type Doer interface { Do(int, string) error } type DoerImp struct ...

stackoverflow.com

 

소문자로 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