fmt.Sprintf 형식 문자열에서 동일한 매개변수를 여러 번 참조하는 방법
Go에서 fmt 패키지는 편리한 방법을 제공합니다. Sprintf 함수를 사용하여 문자열 형식을 지정합니다. 그러나 형식 문자열 내에서 동일한 매개변수를 여러 번 지정하는 것은 번거로울 수 있습니다.
다음 예를 고려하세요.
func getTableCreationCommands(v string) string { return ` CREATE TABLE share_` + v + ` PARTITION OF share FOR VALUES IN (` + v + `); CREATE TABLE nearby_` + v + ` PARTITION OF nearby FOR VALUES IN (` + v + `); ` }
여기서 매개변수 'v'를 4번 반복해야 합니다. SQL 명령을 생성하는 시간입니다. 이러한 장황한 접근 방식 대신 명시적인 인수 인덱스를 사용하여 형식 문자열 내에서 동일한 매개변수를 여러 번 참조할 수 있습니다.
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")) }
이 수정된 함수에서는 인수 인덱스 [1]을 대괄호로 묶습니다. 서식 지정 동사(%v) 앞에 이는 Sprintf에 전달된 첫 번째 인수(이 경우 문자열 "X")를 사용한다는 것을 나타냅니다. 이 스니펫에 대한 플레이그라운드 링크는 https://play.golang.org/p/fKV3iviuwll입니다.
명시적인 인수 인덱스를 사용하면 매개변수를 한 번만 전달하고 형식 문자열 내에서 필요에 따라 참조할 수 있습니다. 더욱 간결하고 읽기 쉽게 구현되었습니다.
위 내용은 Go fmt.Sprintf 형식 문자열에서 동일한 매개변수를 여러 번 재사용하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!