Update 2023-01-09: gospleunk has changed significantly since this post was written. It now uses the built-in Go parser and type-checker to implement “find definition,” “find-references,” and more! See the post implement “find definition” in 77 lines of go for more details.