fmt.Sprintf에서 매개변수를 효율적으로 참조
fmt.Sprintf를 사용하여 Go에서 문자열 형식을 정확하게 지정하려면 인수가 어떻게 매핑되는지 이해하는 것이 중요합니다. 동사 서식 지정. 기본적으로 각 동사는 사용 가능한 다음 인수의 형식을 지정하여 순차 관계를 생성합니다.
그러나 명시적인 인수 인덱스를 사용하면 동일한 매개 변수를 여러 번 전달해야 하는 필요성을 극복할 수 있습니다. 서식 지정 동사 앞에 [n]을 붙입니다. 여기서 n은 서식을 지정할 인수의 단일 인덱스 위치를 나타냅니다.
이 기술은 getTableCreationCommands와 같은 함수에서 특히 유용합니다. 변수 v를 네 번 전달하는 대신 한 번 전달하고 fmt.Sprintf 문자열 내에서 다음과 같이 참조할 수 있습니다.
return fmt.Sprintf(` 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); `, s)
이 예에서는 문자열 s를 한 번 전달하고 인수 인덱스 [ 1] 형식이 지정된 문자열 내에서 이를 참조합니다. 이 접근 방식은 형식 지정 프로세스를 간소화하고, 코드 중복을 줄이고, 유지 관리성을 향상시킵니다.
전체 예는 다음과 같습니다.
package main import "fmt" func getTableCreationCommands(s string) string { return fmt.Sprintf(` 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); `, s) } func main() { fmt.Println(getTableCreationCommands("X")) }
출력:
CREATE TABLE share_X PARTITION OF share FOR VALUES IN (X); CREATE TABLE nearby_X PARTITION OF nearby FOR VALUES IN (X);
위 내용은 Go의 fmt.Sprintf에서 매개변수를 효율적으로 참조하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!