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

Go에서 일반 유형의 기본값을 처리하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-12-23 03:46:10
원래의
169명이 탐색했습니다.

How to Handle Default Values for Generic Types in Go?

일반 유형의 기본값

Go에서는 모든 유형에 대해 nil을 반환하는 것이 허용되지 않습니다. T가 모든 유형을 나타낼 수 있는 일반 유형의 경우에도 nil은 유효한 옵션이 아닙니다. 구조체 및 정수와 같은 유형에는 nil 표현이 없습니다.

대신 T에 사용된 특정 유형 인수의 0 값이 반환될 수 있습니다. 0 값은 유형에 따라 다릅니다.

  • 포인터 및 슬라이스의 경우 Nil
  • 문자열의 경우 빈 문자열
  • 정수 및 부동 소수점의 경우 0

0 값을 반환하려면 T 유형의 변수를 선언하고 반환합니다. it:

func getZero[T any]() T {
    var result T
    return result
}
로그인 후 복사

예를 들어 getZero 함수를 사용하는 경우:

i := getZero[int]()
fmt.Printf("%T %v\n", i, i) // Output: int 0

s := getZero[string]()
fmt.Printf("%T %q\n", s, s) // Output: string ""

p := getZero[image.Point]()
fmt.Printf("%T %v\n", p, p) // Output: image.Point (0,0)

f := getZero[*float64]()
fmt.Printf("%T %v\n", f, f) // Output: *float64 <nil>
로그인 후 복사

위 내용은 Go에서 일반 유형의 기본값을 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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