고랭(Go) 빈 문자열 검사 완벽 정복: 쉬운 방법 두 가지 (+공백 처리 팁)

고랭(Go)에서 빈 문자열 확인하는 방법 마스터하기

고랭(Go)으로 프로그래밍하다 보면, 문자열이 비어 있는지 확인해야 하는 경우는 아주 흔하게 발생합니다.

이 작업은 주로 두 가지 기본적인 방법을 사용하여 수행할 수 있습니다.

1. 빈 문자열 리터럴과 직접 비교하기

첫 번째 방법은 문자열을 빈 문자열 리터럴("")과 직접 비교하는 것입니다.

if str == "" {
    // str이 비어 있는 경우 처리할 로직
}

 
이 방법은 매우 직관적이고 고랭(Go)에서 관용적으로 사용되는 방식입니다.

코드를 읽는 사람이 "아, 이 문자열이 비어 있는지 확인하는구나" 하고 명확하게 의도를 파악할 수 있습니다.

2. 함수 사용하기

다른 방법으로는 문자열의 길이를 확인하는 것입니다.

if len(str) == 0 {
    // str이 비어 있는 경우 처리할 로직
}

 
이 방법은 문자열의 길이를 평가하여 그 길이가 0인지 확인합니다.

어떤 방법을 선호해야 할까요?

핵심 요약

  • 고랭(Go)에서 빈 문자열을 확인하는 선호되는 방식은 명확성과 가독성을 위해 str == ""를 사용하는 것입니다.

  • len(str) == 0을 사용하는 것은 대안적인 방법이지만 기능적으로는 동일합니다.

  • 만약 공백 문자만 포함된 문자열도 빈 것으로 간주해야 한다면, strings.TrimSpace(str) == ""를 사용해야 합니다.

기능적 동일성과 성능

기술적으로 두 방법(str == ""len(str) == 0)은 기능적으로 동일하며, 고랭(Go) 컴파일러(compiler)에 의해 최적화되어 비슷한 성능을 냅니다.

따라서 어떤 방법을 선택할지는 종종 개인적인 선호나 팀의 코딩 스타일에 따라 결정됩니다.

가독성을 위한 선택

하지만 일반적으로는 str == "" 방식이 가독성(readability)명확성(clarity) 측면에서 더 선호됩니다.

빈 문자열인지 확인하려는 의도를 코드 상에서 직접적으로 표현하기 때문입니다.

공백 문자(Whitespace)만 있는 문자열 처리하기

만약 빈 문자열뿐만 아니라, 스페이스(space), 탭(tab), 개행 문자(newline) 등 오직 공백 문자(whitespace character)만 포함하는 문자열도 '비어 있는 것'으로 간주해야 하는 경우가 있습니다.

이럴 때는 고랭(Go) 표준 라이브러리(standard library)의 strings 패키지(package)에 있는 TrimSpace 함수를 사용하면 됩니다.

import "strings"

// ... 코드 중간 ...

if strings.TrimSpace(str) == "" {
    // str이 비어 있거나 공백 문자만 포함하는 경우 처리할 로직
}

 

strings.TrimSpace 함수는 문자열의 앞뒤에 있는 모든 공백 문자를 제거합니다.

이 함수의 결과값을 빈 문자열("")과 비교함으로써, 원래 문자열이 정말 비어 있었거나 혹은 오직 공백 문자로만 구성되어 있었는지 판단할 수 있습니다.

마무리하며

요약하자면, 고랭(Go)에서 빈 문자열을 확인하는 방법으로 str == ""len(str) == 0 모두 유효하지만, 코드의 명확성을 위해 전자가 종종 더 선호됩니다.

그리고 공백만 포함된 문자열까지 고려해야 하는 상황에서는 strings.TrimSpace 함수를 함께 활용하여 더 포괄적인 검사를 수행할 수 있다는 점을 기억해두시면 좋겠습니다.