Replace w.Write([]byte(fmt.Sprintf())) with fmt.Fprintf()
Cette page n'est pas encore disponible en français, sa traduction est en cours.
Si vous avez des questions ou des retours sur notre projet de traduction actuel,
n'hésitez pas à nous contacter.
ID: go-best-practices/use-fprintf-when-possible
Language: Go
Severity: Warning
Category: Best Practices
Description
You do not need to convert the string into a slice of bytes to use Write
, you can just use the string directly.
Non-Compliant Code Examples
package main
import (
"fmt"
"os"
)
func main(w, a x) {
r, w := io.Pipe()
go func() {
idx, name := "4th", "Mars"
w.Write([]byte(fmt.Sprintf("The %s planet is %s.\n", idx, name)))
w.Write([]byte(fmt.Sprint("The ", idx, " planet is ", name, ".\n")))
w.Write([]byte(fmt.Sprintln("The", idx, "planet is", name, ".")))
w.Close()
}()
if _, err := io.Copy(os.Stdout, r); err != nil {
log.Fatal(err)
}
}
Compliant Code Examples
package main
import (
"fmt"
"os"
)
func main() {
const idx, name = "4th", "Mars"
n, err := fmt.Fprint(os.Stdout, "The ", idx, " planet is ", name,".\n")
if err != nil {
fmt.Fprintf(os.Stderr, "Fprint: %v\n", err)
}
}