有人可以解释GO lang中&和*之间的区别吗?并举例说明何时使用&和*来说明差异?根据我的阅读,它们都与访问变量内存位置有关,但我不知道何时使用&或*.
// NewReaderSize returns a new Reader whose buffer has at least the specified
43 // size. If the argument io.Reader is already a Reader with large enough
44 // size, it returns the underlying Reader.
45 func NewReaderSize(rd io.Reader, size int) *Reader {
46 // Is it already a Reader?
47 b, ok := rd.(*Reader)
48 if ok && len(b.buf) >= size {
49 return b
50 }
51 if size < minReadBufferSize {
52 size = minReadBufferSize
53 } …
Run Code Online (Sandbox Code Playgroud)