readline

Compare and contrast the functions below for the use case of traversing each line of a text file.

  1. fmt.Fscanf()
  2. bufio.Reader.ReadLine()
  3. bufio.ReadString('\n')
  4. bufio.Scanner.Scan()

Answer

  1. bufio.Scanner.Scan(): Best suited
  2. fmt.Fscanf(): Only applicable to formated lines
  3. bufio.Reader.ReadLine(): Very low level. May require more invocations when buffer limit is exceeded.
  4. bufio.ReadString('\n'): Cannot handle EOF