func (r *Reader) NextFloat32() (float32, error) {
	s, err := r.NextWord()
	if err != nil {
		return 0, err
	}
	f32, err := strconv.ParseFloat(s, 32)
	if err != nil {
		return 0, err
	}
	return float32(f32), nil
}
NextFloat32 reads the next word and tries to convert it to float32
package gread
import (
	"bufio"
	"io"
	"strconv"
	"strings"
	"github.com/pkg/errors"
)
type Reader struct {
	scanner *bufio.Scanner
	words *strStack
}
func (r *Reader) NextInt32() (int32, error) {
	s, err := r.NextWord()
	if err != nil {
		return 0, err
	}
	i32, err := strconv.ParseInt(s, 10, 32)
	if err != nil {
		return 0, err
	}
	return int32(i32), nil
}
func (r *Reader) NextUint32() (uint32, error) {
	s, err := r.NextWord()
	if err != nil {
		return 0, err
	}
	ui32, err := strconv.ParseUint(s, 10, 32)
	if err != nil {
		return 0, err
	}
	return uint32(ui32), nil
}
func (r *Reader) NextInt64() (int64, error) {
	s, err := r.NextWord()
	if err != nil {
		return 0, err
	}
	return strconv.ParseInt(s, 10, 64)
}
func (r *Reader) NextUint64() (uint64, error) {
	s, err := r.NextWord()
	if err != nil {
		return 0, err
	}
	return strconv.ParseUint(s, 10, 64)
}