github.com/amarpal/go-tools@v0.0.0-20240422043104-40142f59f616/quickfix/qf1012/testdata/src/example.com/CheckWriteBytesSprintf/CheckWriteBytesSprintf.go (about) 1 package pkg 2 3 import ( 4 "bytes" 5 "fmt" 6 "io" 7 ) 8 9 type NotAWriter struct{} 10 11 func (NotAWriter) Write(b []byte) {} 12 13 func fn1() { 14 var w io.Writer 15 var w2 NotAWriter 16 17 w.Write([]byte(fmt.Sprint("abc", "de"))) //@ diag(`Use fmt.Fprint`) 18 w.Write([]byte(fmt.Sprintf("%T", w))) //@ diag(`Use fmt.Fprintf`) 19 w.Write([]byte(fmt.Sprintln("abc", "de"))) //@ diag(`Use fmt.Fprintln`) 20 21 w2.Write([]byte(fmt.Sprint("abc", "de"))) 22 } 23 24 func fn2() { 25 buf := new(bytes.Buffer) 26 var sw io.StringWriter 27 28 buf.WriteString(fmt.Sprint("abc", "de")) //@ diag(`Use fmt.Fprint`) 29 buf.WriteString(fmt.Sprintf("%T", 0)) //@ diag(`Use fmt.Fprintf`) 30 buf.WriteString(fmt.Sprintln("abc", "de")) //@ diag(`Use fmt.Fprintln`) 31 32 // We can't suggest fmt.Fprint here. We don't know if sw implements io.Writer. 33 sw.WriteString(fmt.Sprint("abc", "de")) 34 sw.WriteString(fmt.Sprintf("%T", 0)) 35 sw.WriteString(fmt.Sprintln("abc", "de")) 36 }