fmt.Sprintf 형식 문자열에서 여러 번 매개변수 참조
코드에는 fmt를 사용하여 테이블 생성 명령을 생성하는 함수가 있습니다. Sprintf. 동일한 매개변수를 여러 번 전달하는 것을 피하고 싶습니다.
명시적 인수 인덱싱을 사용하는 솔루션
fmt.Printf 및 관련 함수에 대한 문서에 따르면 명시적 인수 인덱싱을 사용할 수 있습니다. n번째 인수의 형식을 지정하는 인수 인덱스:
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) }
형식 문자열에서 %[1]v 첫 번째 인수 s를 참조합니다.
예
다음은 이 접근 방식을 사용한 예입니다.
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);
명시적 인수 인덱스를 사용하면 동일한 매개변수를 전달하지 않고도 여러 번 참조할 수 있습니다. 별도로.
위 내용은 fmt.Sprintf 형식 문자열에서 매개변수를 여러 번 참조하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!