저는 gotext/template
包中没有看到任何类型的 startswith
기능 중입니다. 이것이 최선의 구현입니까?
{{if eq (slice $c 0 5) "begin"}}
내장된startswith
템플릿 기능이 없습니다.
가장 깔끔한 방법은 해당 기능을 사용하여 사용자 정의 함수를 등록하는 것입니다.
으아악이 결과는 다음과 같습니다(go 놀이터에서 시도해 보세요):
으아악사용자 정의 함수를 등록할 수 없거나 등록하고 싶지 않은 경우 slice
문자열로 작동하지만 주의해야 합니다. 입력 문자열이 5바이트보다 짧으면 템플릿 실행 오류가 발생합니다!
대신(사용자 정의 기능을 등록하고 싶지 않은 경우) 당황하지 말고 내장된 printf
函数,精度是要比较的字符串的长度。如果输入字符串较短,printf
기능을 사용하는 것이 좋습니다.
이 출력은 동일합니다. go 놀이터에서 사용해 보세요.
참고하시고 hasprefix
更安全、更干净、更简单,因为我们不必硬编码前缀的长度 (5
)를 이용하세요.
명시적 매개변수 인덱싱을 사용하면 이 부분을 동적으로 만들 수도 있습니다.
으아악보시다시피 접두사 5
의 하드코딩된 길이를 제거할 수 있습니다. 그러면 다시 동일한 콘텐츠가 출력됩니다. go 놀이터에서 사용해 보세요.
마지막으로 주의할 점: 슬라이스 문자열은 인덱스를 바이트 인덱스로 해석하는 반면 형식 문자열에 사용된 정밀도는 룬 개수로 해석됩니다!
위 내용은 golang 텍스트/템플릿은 함수로 시작합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!