type lineReader … func newLineReader(data string) *lineReader { … } func (r *lineReader) skipBlankLine() error { … } func (r *lineReader) currentPos() int { … } func (r *lineReader) currentLine() (s string, pos int, err error) { … } func (r *lineReader) readLine() (s string, pos int, err error) { … } func (r *lineReader) unreadLine() { … }