No, all numbers are represented by double precision floating point numbers (float64 in Go).
The previous version (http://www.oki-osk.jp/esc/golang/lisp3.html in Japanese) used Go's standard library "math/big" to represent big integers. However, the interpreter was also big and organized into several packages. I revised the interpreter smaller so that
1. it can be compiled in the easiest way, and
2. it may be comparable with the interpreter written in TypeScript.
Note that TypeScript (i.e. JavaScript effectively) represents all numbers in float64.
By the way, as for numbers only, the first interpreter (http://www.oki-osk.jp/esc/golang/lisp.html in Japanese) was the most powerful. It implemented mixed mode arithmetic including arbitrary-precision rational numbers with the "arith" package (http://www.oki-osk.jp/esc/golang/arith.html in Japanese). However, the first interpreter was so tiny as a Lisp that it had no macros, while it was organized into several files.
I don't think people write lisp interpreters for performance reasons. It's more a computer science exercise which helps you understand languages better.
Lisp interpreter in Dart http://www.oki-osk.jp/esc/dart/lisp-en.html
Lisp interpreter in TypeScript http://www.oki-osk.jp/esc/typescript/lisp-en.html
to Go with the addition of "future" and "force" which makes use of goroutines' concurrency.
It is not deterministic when the word "hi" will be printed.