Go에서는 nil 및 nil 인터페이스를 확인하는 것이 일반적인 작업입니다. 그러나 isNil 함수의 현재 구현은 최적이 아닙니다.
reflect.ValueOf(a).IsNil() 함수는 값 유형이 Chan, Func, Map, Ptr, Interface 또는 이외의 다른 경우 패닉이 발생합니다. 일부분. 이러한 패닉을 방지하기 위해 isNil 함수에는 복구() 메커니즘이 포함되어 있습니다.
다행히도 이 검사를 처리하는 더 간단하고 효율적인 방법이 있습니다. golang-nuts 메일링 리스트의 토론에 따르면 특정 규칙을 따르면 nil과의 간단한 비교에 의존할 수 있습니다:
위 내용은 Go 인터페이스에서 Nil을 안전하게 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!