The book says “we instruct the scanner to read words instead by setting the Split() function of the scanner”. But what is really done is set the ‘split function’ of the scanner. ‘Split()’ is not itself the split function, but the method that sets the split function.
From the docs:
func (s *Scanner) Split(split SplitFunc)
Split sets the split function for the Scanner. The default split function is
ScanLines.