Maison >développement back-end >Golang >Comment transmettre plusieurs variables à la fonction Sprintf de Go à l'aide d'une tranche ?
Problème :
Pour ceux qui préfèrent la commodité, transmettre plusieurs variables à la fonction Sprintf peut être fastidieuse. En essayant de le faire avec une tranche de chaînes, une erreur du type « impossible d'utiliser v (type []string) comme type []interface {} dans l'argument de fmt.Printf » peut survenir.
Solution :
Pour résoudre ce problème, déclarez votre tranche comme []interface{}, en l'alignant sur le type d'argument attendu de Sprintf. La signature de Sprintf précise :
<code class="go">func Printf(format string, a ...interface{}) (n int, err error)</code>
Mise en œuvre :
<code class="go">s := []interface{}{"a", "b", "c", "d"} fmt.Printf("%5s %4s %3s\n", s[1], s[2], s[3]) v := s[1:] fmt.Printf("%5s %4s %3s\n", v...)</code>
Explication :
Sortie :
b c d b c d
Notes supplémentaires :
Si vous avez besoin plus de 10 paramètres, ajustez simplement le nombre d'éléments dans la tranche selon vos besoins. La solution reste la même.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!