Go에서 구조체로 작업할 때 설정되지 않은 값과 설정되지 않은 값을 구별하는 것이 중요할 수 있습니다. 빈 문자열과 같이 단순히 비어 있습니다.
다음 구조체를 고려하세요.
<code class="go">type Organisation struct { Category string Code string Name string }</code>
설정된 적이 없는 범주와 비어 있는 범주를 구별하려면 다음과 같은 접근 방식을 사용할 수 있습니다. 문자열에 대한 포인터:
<code class="go">type Organisation struct { Category *string Code *string Name *string }</code>
그러나 Go에서 문자열의 0 값은 빈 문자열이므로 두 경우를 구별하는 것이 불가능합니다.
데이터베이스를 다룰 때, NULL과 빈 문자열을 구분하는 것이 중요합니다. 이를 위해 데이터베이스/sql 패키지는 sql.NullString 유형을 제공합니다.
<code class="go">type NullString struct { String string Valid bool // Valid is true if String is not NULL }</code>
이 유형을 검색하여 쿼리 매개변수로 사용하면 데이터베이스/sql 패키지가 NULL 상태를 관리합니다. 설정되지 않은 값과 비어 있는 값을 효과적으로 구별합니다.
위 내용은 Go에서 설정되지 않은 값과 비어 있는 값을 올바르게 구별하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!