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)
}
두가지 방법 중 본인의 코드 스타일에 맞추면 됩니다.
저는 개인적으로 쓰는편입니다.
인터페이스형식에는 해당 매개변수 타입만으로는 의미하는 바를 모르기 때문에, 의미 부여해서 적어둡니다. ^^
반응형
'Programming > Go-Lang' 카테고리의 다른 글
Go-Lang: fmt.Errorf() - error strings should not end with punction or newlines (ST1005) (0) | 2023.03.08 |
---|---|
go-lang: go test cache 초기화 방법 (0) | 2023.03.02 |
Go-Lang : 문자열에서 숫자만 추출하기 (2) | 2022.11.28 |
Go-Lang : Context 패키지 이해하기 (링크 공유) (0) | 2021.12.07 |
Go-Lang : Go mod를 이용한 패키지 관리 (0) | 2021.11.30 |