질문:
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 템플릿은 다음에 대한 연산자를 지원하지 않습니다. 문자열 연결. 따라서 위의 예에서는 오류가 발생합니다.
해결책:
printf 함수 사용:
첫 번째 예에서 설명한 것처럼 printf 함수를 사용하여 문자열을 연결할 수 있습니다. 이 방법은 효율적이고 유연합니다.
<code class="go">{{ $var := printf "%s%s" "x" "y" }} {{ TestFunc $var }} // Returns "xy"</code>
템플릿 표현식 결합:
여러 템플릿 표현식을 결합하여 연결할 수도 있습니다.
<code class="go">{{ TestFunc (printf "%s%s" "x" "y") }} // Returns "xy"</code>
TestFunc 인수 처리 수정:
사용 사례에 항상 TestFunc 인수에 대한 문자열 연결이 포함되는 경우 내부적으로 연결을 처리하도록 함수를 수정할 수 있습니다.
<code class="go">func TestFunc(strs ...string) string { return strings.Trim(strings.Join(strs, ""), " ") } {{ TestFunc "x" $var }} // Returns "xy"</code>
위 내용은 Go 템플릿에서 문자열을 효율적으로 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!