package main
import (
"bytes"
"fmt"
"io"
)
const debug = false
func f(out io.Writer) {
var buf *bytes.Buffer
fmt.Println(buf == nil)
fmt.Println(buf == out)
fmt.Println(out != nil)
if out != nil {
fmt.Println("pizdec")
fmt.Printf("%v\n", out)
fmt.Printf("%T\n", out)
}
}
func main() {
var buf *bytes.Buffer
if debug {
//
}
f(buf)
if debug {
//
}
}
我不明白为什么buf == out
是真的而且out != nil
也是如此?
如果前三行的输出为真,那怎么可能'
buf == nil和buf == out,同时,out不等于nil?