2017-08-28 8 views
2

は代替により、文字列を、私はのようなコードをしているフォーマット。 dbNameを繰り返さずにそれを行うより良い方法ですか?は同じ部分

答えて

6

使用%[1]s

const query = `select * 
      from %[1]s.dbo.table1 
      join %[1]s.dbo.table2 
      on .... 
      join %[1]s.dbo.table3 
      on .... 
      join %[1]s.dbo.table4 
      on ....` 
q := fmt.Sprintf(query, dbName) 

遊び場:https://play.golang.org/p/2DDiGfxLPk

ドキュメント:https://golang.org/pkg/fmt/。例えば

fmt.Sprintf("%6.2f", 12.0) 

に相当しながら

fmt.Sprintf("%[3]*.[2]*[1]f", 12.0, 2, 6) 

fmt.Sprintf("%[2]d %[1]d\n", 11, 22) 

は、 "22 11" をもたらす "12.00" をもたらします。 (...)

関連する問題