[go] 문자열을 특정 길이로 자르기 (String Truncation)

보통 데이터를 표시할 때 문자열의 길이를 제한해야 하는 경우가 있습니다. 사용자 프로필이나 뉴스 피드와 같은 곳에서 긴 문자열을 축약하여 표시할 수 있는 방법을 제공해야 합니다. 이 기능을 문자열 자르기 (string truncation)라고 합니다.

이번에는 Go 언어에서 문자열을 특정 길이로 자르는 방법을 알아보겠습니다.

strings 패키지 활용

Go 언어에서 문자열을 자르기 위해 strings 패키지의 RuneCountInStringRune 메서드를 사용할 수 있습니다. 아래는 이를 이용해 문자열을 특정 길이로 자르는 간단한 예제 코드입니다.

package main

import (
	"fmt"
	"unicode/utf8"
)

func main() {
	text := "우리는 지금 Go 언어로 문자열을 자르는 방법을 공부하고 있습니다."

	limit := 20
	runes := []rune(text)

	if len(runes) > limit {
		runes = runes[:limit]
	}

	fmt.Println(string(runes))
}

이 코드에서 RuneCountInString 함수를 사용하여 문자열의 길이를 구하고, Rune 메서드를 사용하여 문자열을 자릅니다.

간단한 예제

예를 들어, 위의 코드가 다음과 같이 실행된다면:

입력:

우리는 지금 Go 언어로 문자열을 자르는 방법을 공부하고 있습니다.

출력:

우리는 지금 Go 언어로 문자열을

위의 결과를 살펴보면 20자를 초과하는 문자열이 잘라진 것을 확인할 수 있습니다.

결론

Go 언어에서 문자열을 특정 길이로 자르는 방법에 대해 알아보았습니다. 이를 통해 긴 문자열을 효과적으로 축약하여 표시할 수 있습니다.

다양한 사용 사례에 맞게 이 기능을 응용하여 문자열을 처리할 수 있을 것입니다.