홈>
양식을 파싱하고 여러 함수
func parseAndValidateX(val string) (T, err)
를 작성했습니다
여기서 T는 모든 유형입니다.
이제 클로즈
func catchError(T, Error) T
를 작성하고 싶습니다
다음과 같은 작업을 수행 할 수 있습니다.
errors []Error
func catchError(val T, err Error) T {
if err != nil {
//append err to errors
}
return val
}
data = MyStruct {
Age = catchError(parseAndValidateAge("5")) // Age is a int
DistanceFromHome = catchError(parseAndValidatePi("3.14")) // DistanceFromHome is a float
Location = catchError(parseAndValidatePi("3.14,2.0")) //Location is a custom Struct
}
if len(errors) > 0 {
// o, oh
}
이것은 Go에서 가능합니까? 이것을 어떻게/관용적으로 수행 할 수 있습니까?
-
답변 # 1
관련 자료
- Python/Pandas에서 원래 열을 유지하면서 하나의 열에 대한 복잡한 변환
- java - 정규식에서 전체 경로의 일부를 탈출하면서 그 일부를 유지하십시오
- python - 데이터 프레임 - 다른 열 유형을 유지하면서 한 행을 다른 행으로 복사
- c# - 일반 함수를 호출하고 일반 변수를 할당하는 중 컴파일 오류
- webpack 및 babel로 함수 이름을 유지하면서 축소
- python - 데이터 프레임의 구조를 유지하면서 %를 계산하는 방법
- 필터링 된 값을 0으로 유지하면서 Python 목록을 필터링하는 방법
- python - 하루를 함께 유지하면서 두 목록에서 사전을 만들려면 어떻게해야합니까?
- java - 앵커를 유지하면서 위젯을 부드럽게 표시하는 방법
- python - numpy를 사용하여 배열 차원을 동일하게 유지하면서 각 행에서 최소값을 찾는 방법은 무엇입니까?
- python - XML을 통해 구문 분석하는 동안 CDATA 섹션 유지
- python - 플롯 대시 보드의 외부 스타일 시트를 유지하면서 글꼴 스타일 변경
- c++ - 포인트를 유지하면서 y/n으로 게임 루프 재시작
- Excel VBA에서 컴파일되지 않는 do while 루프에 do until 루프가 중첩되었습니다
- apache - URL을 유지하면서 PHP 리디렉션
- wordpress - 301 동일한 계층 구조를 유지하면서 기존 사이트를 새 사이트로 리디렉션
- c++ - Intellisense에서 컴파일 할 때 vscode가 헤더를 찾을 수 없음
- sql - "City"를 첫 번째 열의 공통 필터로 유지하면서 두 개의 쿼리를 조인하는 방법
- python - 다른 열 값을 유지하면서 df에 여러 열 추가
- swift - LiDAR 디버그 메시를 유지하면서 카메라 피드를 비활성화하는 방법은 무엇입니까?
트렌드
- OpenCv의 폴더에서 여러 이미지 읽기 (python)
- 파이썬 셀레늄 모든 "href"속성 가져 오기
- git commit - 자식 - 로컬 커밋 된 파일에 대한 변경을 취소하는 방법
- html - 자바 스크립트 - 클릭 후 변경 버튼 텍스트 변경
- JSP에 대한 클래스를 컴파일 할 수 없습니다
- javascript - 현재 URL에서 특정 div 만 새로 고침/새로 고침
- jquery - JavaScript로 현재 세션 값을 얻으시겠습니까?
- javascript - swiperjs에서 정지, 재생 버튼 추가
- vue.js - axios를 사용하여 서버에 이미지를 업로드하는 방법
- python - 문자열에서 특정 문자 제거
네프;Go에는 사용자 정의 함수에 대한 파라 메트릭 다형성이 없으므로 그렇게 할 수 없습니다. 당신이 할 수있는 것은
interface{}
를 가지고 돌아 오는 것입니다 호출 사이트에서 유형 명제를 추가하십시오.unsafe
를 사용하지 않으면 Go의 모든 것이 유형 안전합니다 패키지이므로 걱정할 필요가 없습니다. 그래도 컴파일 타임이 아닌 런타임에 타입 어설 션이 실패합니다.DRY를 기꺼이 위반하려는 경우 :