fmt.Sprintf에서 동일한 매개변수를 효율적으로 참조
fmt.Sprintf로 작업할 때 다음을 수행해야 하는 상황에 직면하는 것이 일반적입니다. 형식 문자열 내에서 동일한 매개변수를 여러 번 참조합니다. 매개변수를 복제하는 것은 간단해 보일 수 있지만 비효율적이며 중복 코드가 발생할 수 있습니다.
해결책: 명시적 인수 인덱싱 활용
이 문제를 해결하기 위해 fmt.Sprintf는 다음을 제공합니다. "명시적 인수 인덱싱"으로 알려진 솔루션입니다. 이 기술을 사용하면 형식 문자열 내의 인덱스로 특정 인수를 참조할 수 있습니다. 형식 지정 동사 바로 앞에 형식 지정자 [n]을 사용하면 형식을 지정할 인수를 지정할 수 있습니다.
예를 들어 다음 코드를 고려해보세요.
package main import "fmt" func main() { v := "X" // Use explicit argument indexing to reference v four times fmt.Printf( `CREATE TABLE share_%[1]v PARTITION OF share FOR VALUES IN (%[1]v); CREATE TABLE nearby_%[1]v PARTITION OF nearby FOR VALUES IN (%[1]v);`, v, v, v, v, ) }
이 예에서는 v를 4번 전달하는 대신 형식 문자열 내에서 [1]v를 사용합니다. 이는 첫 번째 인수를 4번 효과적으로 참조합니다. 결과는 간결하고 효율적인 형식 문자열입니다.
CREATE TABLE share_X PARTITION OF share FOR VALUES IN (X); CREATE TABLE nearby_X PARTITION OF nearby FOR VALUES IN (X);
명시적 인수 인덱싱의 이점
명시적 인수 인덱싱을 사용하면 여러 가지 이점이 있습니다.
결론
fmt.Sprintf의 명시적 인수 인덱싱 형식 문자열 내에서 동일한 매개변수를 여러 번 참조하는 효율적이고 유연한 방법을 제공합니다. 이 기술은 코드를 단순화할 뿐만 아니라 성능도 향상시켜 Go에서 문자열 형식 지정 작업에 유용한 도구가 됩니다.
위 내용은 fmt.Sprintf에서 동일한 매개변수를 여러 번 효율적으로 참조하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!