=== Initial Setup on 9p.sdf.org ===
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
=== Testing Your Setup ===
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!
=== Next Steps ===
That's really all there is to it for getting started!
[[https://quii.gitbook.io/learn-go-with-tests/|Learn Go With Tests]] is extremely useful for learning Go if you're new to the language.
=== Go for Plan9 ===
I'm not sure if there are any Plan9 specific differences for Go.
* If you need help, please feel free to reach out to [[mailto://rudi@sdf.org|rudi@sdf.org]]
* There are plan9 bindings for go from [[https://pkg.go.dev/9fans.net/go|9fans.net]]