>  기사  >  백엔드 개발  >  Go의 fmt.Sprintf에서 매개변수를 효율적으로 참조하려면 어떻게 해야 합니까?

Go의 fmt.Sprintf에서 매개변수를 효율적으로 참조하려면 어떻게 해야 합니까?

DDD
DDD원래의
2024-11-07 16:40:03873검색

How Can I Efficiently Reference Parameters in Go's fmt.Sprintf?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.