> 백엔드 개발 > Golang > Go에서 일반 유형에 대한 Nil 값 반환을 처리하는 방법은 무엇입니까?

Go에서 일반 유형에 대한 Nil 값 반환을 처리하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-12-31 16:05:11
원래의
163명이 탐색했습니다.

How to Handle Returning Nil Values for Generic Types in Go?

일반 유형에 대한 기본값 반환

Go에서 다음을 시도할 때 "nil을 return 문에서 T 값으로 사용할 수 없습니다."라는 문이 발생합니다. 일반 유형의 경우 nil을 반환합니다. 이는 nil이 모든 유형에 대해 유효한 값이 아니기 때문입니다. 예를 들어 제공된 코드에서

func (list *mylist[T]) pop() T {...}
func (list *mylist[T]) getfirst() T {...}
로그인 후 복사

T가 int 유형인 경우 합리적인 nil 값이 없습니다. 마찬가지로 구조체의 경우 nil은 유효한 값이 아닙니다.

대신 해당 유형에 대해 0 값을 사용해야 합니다. 0 값은 다음과 같습니다.

  • 포인터 및 슬라이스의 경우 nil
  • "" 문자열의 경우
  • 정수 및 부동 소수점 숫자의 경우 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿