>백엔드 개발 >Golang >Go의 fmt.Sprintf()에서 여러 자리 표시자에 걸쳐 단일 변수를 어떻게 반복할 수 있나요?

Go의 fmt.Sprintf()에서 여러 자리 표시자에 걸쳐 단일 변수를 어떻게 반복할 수 있나요?

Susan Sarandon
Susan Sarandon원래의
2024-12-21 12:53:21788검색

How Can I Repeat a Single Variable Across Multiple Placeholders in Go's fmt.Sprintf()?

Sprintf를 사용하여 서식이 지정된 문자열에서 변수 값 복제

Go에서 fmt.Sprintf()를 사용하면 다음과 같은 자리 표시자를 사용하여 문자열 서식을 지정할 수 있습니다. 제공된 값으로 대체됩니다. 일반적으로 각 자리 표시자에 고유한 값을 할당하지만 모든 자리 표시자를 동일한 변수로 바꾸는 것이 바람직한 경우가 많습니다.

명시적 인수 인덱싱

이를 달성하려면 fmt.Sprintf ()는 명시적인 인수 인덱싱을 활용합니다. 형식 문자열 내에서 형식 지정 동사 앞에 [n]을 배치하면 n번째 인수(1부터 인덱싱됨)가 기본 오름차순 순서 대신 형식이 지정됩니다. 마찬가지로 너비 또는 정밀도를 나타내는 * 앞에 배치된 [n]은 지정된 값을 보유하는 인수를 나타냅니다.

사용 예

질문에 제공된 예를 고려하세요.

val := "foo"
s := fmt.Sprintf("%v in %v is %v", val)

모든 자리 표시자에 걸쳐 val 변수를 복제하려면 형식 문자열을 다음과 같이 수정합니다. 다음은 다음과 같습니다.

s := fmt.Sprintf("%[1]v in %[1]v is %[1]v", val)

원하는 출력 결과는 다음과 같습니다.

"foo in foo is foo"

간소화된 표기법

첫 번째 명시적 인수 인덱스는 다음과 같을 수 있습니다. 기본값이므로 생략 1:

s := fmt.Sprintf("%v in %[1]v is %[1]v", val)

결론

명시적인 인수 인덱싱을 활용하면 fmt.Sprintf()를 활용하여 형식화된 모든 자리 표시자에 걸쳐 단일 변수 값을 복제할 수 있습니다. 문자열을 사용하여 특정 시나리오에 대한 간결하고 효율적인 솔루션을 제공합니다.

위 내용은 Go의 fmt.Sprintf()에서 여러 자리 표시자에 걸쳐 단일 변수를 어떻게 반복할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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