glog.go
func (l *Log) getBuffer() *buffer {
	l.freeListMu.Lock()
	b := l.freeList
	if b != nil {
		l.freeList = b.next
	}
	l.freeListMu.Unlock()
	if b == nil {
		b = new(buffer)
	} else {
		b.next = nil
		b.Reset()
	}
	return b
}
func (l *Log) getBuffer() *buffer {
	l.freeListMu.Lock()
	b := l.freeList
	if b != nil {
		l.freeList = b.next
	}
	l.freeListMu.Unlock()
	if b == nil {
		b = new(buffer)
	} else {
		b.next = nil
		b.Reset()
	}
	return b
}
func ( l * Log ) getBuffer ( ) * buffer { l . freeListMu . Lock ( ) b := l . freeList if b != nil { l . freeList = b . next } l . freeListMu . Unlock ( ) if b == nil { b = new ( buffer ) } else { b . next = nil b . Reset ( ) } return b }
// getBuffer returns a new, ready-to-use buffer.
getBuffer returns a new ready - to - use buffer .