To get started with Go, you have to add the variable and binds below to your $home/lib/profile
GOROOT=/sys/lib/go bind -qa /sys/lib/go/bin /bin bind -qa $home/go/bin /bin
When you're in a namespace which has Go set up from above you can do a quick test
[/usr/rudi] 9p% go version go version go1.18.3 plan9/amd64
Or you can do a bit more of a complicated test by saying Hello world!
[/usr/rudi] 9p% cat hello.go package main import "fmt" func main() { fmt.Println("Hello plan9!") } [/usr/rudi] 9p% go run hello.go Hello plan9!
That's really all there is to it for getting started!
Learn Go With Tests is extremely useful for learning Go if you're new to the language.
I'm not sure if there are any Plan9 specific differences for Go.