func (s *Scanner) seek(offset int64, whence int) (ret int64, err error) {
	switch r := s.r.r.(type) {
	case io.Seeker:
		return r.Seek(offset, whence)
	default:
		if whence != 0 {
			panic("not implemented")
		}
		return io.CopyN(ioutil.Discard, r, offset)
	}
}
// seek sets the offset for the next Read or Write on file to offset,
// interpreted according to whence: 0 means relative to the origin of the
// file, 1 means relative to the current offset, and 2 means relative to
// the end. It returns the new offset and an error, if any.
seek sets the offset for the next Read or Write on file to offset,
interpreted according to whence: 0 means relative to the origin of the
file, 1 means relative to the current offset, and 2 means relative to
the end. It returns the new offset and an error, if any.
// seek sets the offset for the next Read or Write on file to offset // interpreted according to whence : 0 means relative to the origin of the // file 1 means relative to the current offset and 2 means relative to // the end . It returns the new offset and an error if any .
func (s *Scanner) seek(offset int64, whence int) (ret int64, err error) {
	switch r := s.r.r.(type) {
	case io.Seeker:
		return r.Seek(offset, whence)
	default:
		if whence != 0 {
			panic("not implemented")
		}
		return io.CopyN(ioutil.Discard, r, offset)
	}
}
func ( s * Scanner ) seek ( offset int64 , whence int ) ( ret int64 , err error ) { switch r := s . r . r . ( type ) { case io . Seeker : return r . Seek ( offset , whence ) default : if whence != 0 { panic ( " " ) } return io . CopyN ( ioutil . Discard , r , offset ) } }
seek sets the offset for the next Read or Write on file to offset,
interpreted according to whence: 0 means relative to the origin of the
file, 1 means relative to the current offset, and 2 means relative to
the end.
seek sets the offset for the next Read or Write on file to offset interpreted according to whence : 0 means relative to the origin of the file 1 means relative to the current offset and 2 means relative to the end .