golang에서는 데이터를 보다 유연하게 처리하기 위해 여러 유형을 하나의 유형으로 정의해야 하는 경우가 있습니다. 이 문제에 대해 PHP 편집자 Xinyi는 모든 사람에게 솔루션을 제공합니다. 인터페이스 유형을 사용하면 여러 가지 유형을 하나의 유형으로 정의할 수 있습니다. 인터페이스 유형은 특정 구현을 지정하지 않고 메소드 세트를 정의할 수 있습니다. 이러한 방식으로 우리는 여러 유형에 대해 이 인터페이스를 구현한 다음 통합된 작업 및 처리에 이 인터페이스 유형을 사용할 수 있습니다. 이 접근 방식은 코드 구조를 단순화할 뿐만 아니라 코드의 가독성과 유지 관리 가능성도 향상시킵니다. 다음으로 구체적인 구현 단계를 살펴보겠습니다.
func GetFailedReasonAndErr (xxx) (string, error){ ... } func AnyFailed (args ...(string, error)) { for _, arg := range args { if arg.error != nil { return arg } } } func main () { reason, err := AnyFailed(GetFailedReasonAndErr(yyy), GetFailedReasonAndErr(zzz)) println(reason, err) }
위 코드는 "args ...(string, error)"가 허용되지 않기 때문에 컴파일에 실패합니다. (String, Error)를 유형으로 정의할 수 있나요? 아니면 더 좋은 방법이 있나요? (구조체를 사용할 수 있나요?) 좋다 : Type Reasonanderror(String, Error)
(String, Error)를 유형으로 정의할 수 있나요?
아니요, 해당 구문은 사용되지 않습니다. go에는 튜플이 없습니다.
(구조를 사용할 수 있나요?) 예: Reasonanderror(문자열, 오류)
를 입력하세요.예, 구조체 유형을 선언하고 사용하세요. 구조 유형을 선언하는 구문은 다음과 같습니다.
으아악그런 다음 사용하려면 다음을 수행하세요.
으아악위 내용은 golang에서 여러 유형을 하나의 유형으로 정의하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!