Programming/Go-Lang
Go-Lang: mixed named and unnamed parameters 에러 조치
근육곰돌이
2024. 2. 22. 18:08
728x90
Go-Lang에서 간혹 함수를 쓰다보면 종종 아래와 같은 에러를 만날수 있다.
해당 에러에 대한 내용을 한번 정리하고 가면 나중에 편하게 조치할 수 있기에 알아두자. (필자는 메모용.. ^^)
1. 에러
mixed named and unnamed parameters
2. 원인
원인은 " func에서 매개변수를 처리하는 방법"에서 사용을 잘못해서 그렇다.
func 매개변수 변수명은 하려면 다 써야하거나 또는 다 쓰지 않아야 한다.
위의 예제를 보면
type ObjInter interface {
Exist(context.Context, aggregateId string) (bool, error)
}
context.Context 오브젝트는 매개변수명이 없고, string은 매개변수명이 "aggregateId"라고 존재한다.
이때 에러가 발생한다.
3. 조치
- 매개변수를 모두 쓰는 것
type ObjInter interface {
Exist(ctx context.Context, aggregateId string) (bool, error)
}
- 매개변수를 모두 쓰지 않는 것
type ObjInter interface {
Exist(context.Context, string) (bool, error)
}
두가지 방법 중 본인의 코드 스타일에 맞추면 됩니다.
저는 개인적으로 쓰는편입니다.
인터페이스형식에는 해당 매개변수 타입만으로는 의미하는 바를 모르기 때문에, 의미 부여해서 적어둡니다. ^^
반응형