일반 유형에 대한 기본값 반환
Go에서 다음을 시도할 때 "nil을 return 문에서 T 값으로 사용할 수 없습니다."라는 문이 발생합니다. 일반 유형의 경우 nil을 반환합니다. 이는 nil이 모든 유형에 대해 유효한 값이 아니기 때문입니다. 예를 들어 제공된 코드에서
func (list *mylist[T]) pop() T {...} func (list *mylist[T]) getfirst() T {...}
T가 int 유형인 경우 합리적인 nil 값이 없습니다. 마찬가지로 구조체의 경우 nil은 유효한 값이 아닙니다.
대신 해당 유형에 대해 0 값을 사용해야 합니다. 0 값은 다음과 같습니다.
일반을 사용하여 0 값을 반환하는 방법은 다음과 같습니다. 함수:
func getZero[T any]() T { var result T return result }
이 함수는 유형 인수로 사용된 모든 유형에 대해 0 값을 반환합니다.
함수 테스트 결과는 다음과 같습니다.
int 0 string "" image.Point (0,0) *float64 nil
보시다시피 다양한 유형에 대해 적절한 0 값이 반환되어 일반 함수 및 유형에 적합한 기본값을 제공합니다.
위 내용은 Go에서 일반 유형에 대한 Nil 값 반환을 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!