>  기사  >  백엔드 개발  >  Go 템플릿에서 문자열을 효율적으로 연결하는 방법은 무엇입니까?

Go 템플릿에서 문자열을 효율적으로 연결하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-06 15:25:02533검색

How to Concatenate Strings Efficiently in Go Templates?

템플릿에서 효율적으로 문자열 연결

질문:

Go 템플릿에서 다음을 사용하여 문자열을 연결하는 효율적인 방법이 있습니까? " "와 같은 연산자?

제공된 예:

<code class="go">{{ $var := printf "%s%s" "x" "y" }}
{{ TestFunc $var }}  // Returns "xy"

{{ $var := "y" }}
{{ TestFunc "x" + $var }}  // Error: unexpected "+" in operand

{{ $var := "y" }}
{{ TestFunc "x" + {$var} }}  // Error: unexpected "+" in operand</code>

답변:

Go 템플릿은 다음에 대한 연산자를 지원하지 않습니다. 문자열 연결. 따라서 위의 예에서는 오류가 발생합니다.

해결책:

  1. printf 함수 사용:
    첫 번째 예에서 설명한 것처럼 printf 함수를 사용하여 문자열을 연결할 수 있습니다. 이 방법은 효율적이고 유연합니다.

    <code class="go">{{ $var := printf "%s%s" "x" "y" }}
    {{ TestFunc $var }}  // Returns "xy"</code>
  2. 템플릿 표현식 결합:
    여러 템플릿 표현식을 결합하여 연결할 수도 있습니다.

    <code class="go">{{ TestFunc (printf "%s%s" "x" "y") }}  // Returns "xy"</code>
  3. TestFunc 인수 처리 수정:
    사용 사례에 항상 TestFunc 인수에 대한 문자열 연결이 포함되는 경우 내부적으로 연결을 처리하도록 함수를 수정할 수 있습니다.

    <code class="go">func TestFunc(strs ...string) string {
        return strings.Trim(strings.Join(strs, ""), " ")
    }
    
    {{ TestFunc "x"  $var }}  // Returns "xy"</code>

위 내용은 Go 템플릿에서 문자열을 효율적으로 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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