기존 fmt.Sprintf() 사용에서는 변수가 형식화된 문자열로 순차적으로 대체됩니다. 그러나 문자열 전체에서 단일 변수를 복제하는 것이 가능합니다.
명시적 인수 인덱스를 활용하면 형식 문자열을 수정하여 동일한 인수를 여러 번 참조할 수 있습니다. 번:
val := "foo" s := fmt.Sprintf("%[1]v in %[1]v is %[1]v", val)
형식 지정 동사 앞의 %[n] 표기법은 사용할 인수의 인덱스를 지정합니다. 이 경우 %[1]은 자리 표시자의 모든 인스턴스에 첫 번째 인수(val)를 사용해야 함을 나타냅니다.
수정된 Sprintf 실행:
fmt.Println(s)
생성:
foo in foo is foo
실질적으로 문자열의 모든 변수 자리 표시는 다음으로 대체됩니다. val 값을 사용하여 원하는 복제를 수행합니다.
첫 번째 인수를 일관되게 사용해야 하는 특정 시나리오의 경우 %[1] 인덱스를 생략할 수 있습니다.
fmt.Sprintf("%v in %[1]v is %[1]v", "foo")
이 축약된 구문은 동일한 복제 기능을 달성하면서도 형식 지정 문자열을 단순화합니다.
위 내용은 인수 인덱스를 사용하여 Go의 fmt.Sprintf에서 변수를 어떻게 반복할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!