>백엔드 개발 >Golang >Go []int 배열을 한 줄로 구분된 문자열로 어떻게 변환할 수 있나요?

Go []int 배열을 한 줄로 구분된 문자열로 어떻게 변환할 수 있나요?

Barbara Streisand
Barbara Streisand원래의
2024-12-05 21:28:15250검색

How Can I Convert a Go []int Array to a Delimited String in One Line?

[]int를 사용자 정의 구분 기호를 사용하여 문자열로 변환하는 One-Liner

이 코드 챌린지에서는 []int와 같은 정수 배열을 변환하려고 합니다. {1, 2, 3}을 구분된 문자열로 변환합니다(예: "1, 2, 3"). 사용자 정의된 구분 기호는 쉼표(',') 또는 공백(' ')과 같은 특정 요구 사항에 따라 달라질 수 있습니다.

Python 및 Go와 같은 프로그래밍 언어의 기존 솔루션은 문자열을 연결하는 방법을 제공하지만 종종 가정합니다. 기본 배열은 이미 []string 유형입니다. 이러한 제한으로 인해 개발자는 []int를 원하는 형식으로 원활하게 변환하는 한 줄짜리 코드를 찾게 됩니다.

이 문제를 해결하기 위해 Go 표준 라이브러리의 고유한 기능을 활용하는 세 가지 간결한 옵션을 제시합니다.

func arrayToString(a []int, delim string) string {
    return strings.Trim(strings.Replace(fmt.Sprint(a), " ", delim, -1), "[]")
    //return strings.Trim(strings.Join(strings.Split(fmt.Sprint(a), " "), delim), "[]")
    //return strings.Trim(strings.Join(strings.Fields(fmt.Sprint(a)), delim), "[]")
}

이러한 단일 라이너는 정수 배열의 표현을 문자열로 조작하여 작동합니다. 관련된 단계는 다음과 같습니다.

  1. fmt.Sprint(a): 정수 배열 a를 문자열 표현으로 변환합니다. 결과 문자열은 대괄호로 묶인 숫자 조각으로 나타납니다(예: "[1 2 3]").
  2. strings.Replace: 문자열 내의 공백(' ')을 다음과 교환합니다. 지정된 구분 기호. 이 단계에서는 정수 값 간의 원하는 구분을 소개합니다.
  3. strings.Trim: 결과 문자열에서 왼쪽 및 오른쪽 대괄호("[]")를 제거합니다. 결과는 원래 정수 배열을 나타내는 쉼표로 구분된 문자열(또는 기타 사용자 정의 구분 기호)입니다.

예를 들어, []int{1, 2, 3} 및 쉼표가 포함된 코드를 사용합니다. delimiter ',':

result := arrayToString([]int{1, 2, 3}, ",")
// Output: "1,2,3"

이 한 줄짜리 문자는 정수 배열을 구분 기호 배열로 변환하기 위한 간결하고 효과적인 솔루션을 제공합니다. Go에서 문자열을 사용하여 원하는 구분 기호를 유연하게 선택할 수 있습니다.

위 내용은 Go []int 배열을 한 줄로 구분된 문자열로 어떻게 변환할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.