fmt.Sprintf 形式文字列でパラメータを複数回参照する
コードには、fmt を使用してテーブル作成コマンドを作成する関数があります。スプリントフ。同じパラメータを複数回渡すことは避けたいと考えています。
明示的な引数のインデックス付けを使用した解決策
fmt.Printf および関連関数のドキュメントによると、明示的な引数インデックスを使用できます。 n 番目の引数をフォーマットするための引数インデックス:
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) }
フォーマット文字列では、%[1]v は最初の引数 s を参照します。
Example
このアプローチを使用した例を次に示します。
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);
明示的な引数インデックスを使用すると、個別に渡すことなく、同じパラメータを複数回参照できます。
以上がfmt.Sprintf 形式の文字列でパラメーターを複数回参照するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。