Go テンプレートでの文字列の切り詰め
Go で HTML テンプレートを使用する場合、テキストの長さを制限する必要がある状況が発生することがあります。弦。これは、テキストのオーバーフローを防止したり、一貫した表示を確保したりするのに役立ちます。
この例では、範囲ループ内に「.Content」の内容を表示するテンプレートがあります。デフォルトでは、文字列全体が出力されます。ただし、最大 25 文字に切り詰めたいと考えています。
解決策は、テンプレート内で printf を利用することです。この関数を使用すると、切り詰めなどのさまざまな方法で文字列を操作できます。
printf の使用
テンプレート内の文字列を切り詰めるには、printf ディレクティブを次のオプションとともに使用できます。希望の長さを指定するフォーマット文字列。例:
{{ printf "%.25s" .Content }}
このフォーマット文字列は、printf に「.Content」を文字列としてフォーマットし、その長さを 25 文字に制限するように指示します。最初の 25 文字を超える余分なコンテンツは破棄されます。
動的切り捨て
追加の引数として必要な数値を渡すことで、切り捨ての長さを動的に指定することもできます。 printf:
{{ printf "%.*s" 25 .Content }}
この場合、最初の引数 (25) は最大長を表しますに切り詰めます。 2 番目の引数 (".Content") は、切り詰められる文字列です。
精度に関する注意
printf はルーン (Unicode コード ポイント) を使用することに注意することが重要です。バイトではなく幅と精度を測定します。これは、マルチバイト UTF-8 文字が途中で切り捨てられる可能性があることを意味します。バイトベースの切り捨てが必要な場合は、部分文字列のスライスなどの代替アプローチの使用を検討してください。
以上がGo テンプレートで文字列を切り詰めるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。