Go is available within the OpenBSD ports tree collection since OpenBSD 5.2.  It is marked as i386- and amd64- only.  See ports/lang/go for details.
| OpenBSD release | golang in ports | 
|---|---|
| 6.0 (Sep 1, 2016) | go-1.6.3 | 
| 5.9 (Mar 29, 2016) | go-1.5.4 | 
| 5.8 (Oct 18, 2015) | go-1.4.2 | 
| 5.7 (May 1, 2015) | go-1.4.1 | 
| 5.6 (Nov 1, 2014) | go-1.3p0 | 
| Kernel version | Architectures | Initial support version | Final support version | 
|---|---|---|---|
| 6.1 | amd64, arm, 386 | Go 1.8 | |
| 5.9 through 6.0 | amd64, 386 | Go 1.4.1 * | |
| 5.9 through 6.0 | arm | Go 1.5 | |
| 5.6 through 5.8 | amd64, 386 | Go 1.4.1 * | Go 1.7.5 | 
| 5.5 | amd64, 386 | Go 1.3 * | Go 1.7.5 | 
| 5.0 through 5.4 | amd64, 386 | Go 1 | Go 1.2.2 | 
| * Go 1.5 or above is recommended. | 
/etc/login.conf)Edit /etc/login.conf so that the staff class has the proper settings. The following is a working example of the staff class:
staff:\
       :datasize-cur=infinity:\
       :datasize-max=infinity:\
       :datasize=infinity:\
       :openfiles-cur=4096:\
       :maxproc-max=512:\
       :maxproc-cur=512:\
       :ignorenologin:\
       :requirehome@:\
       :tc=default:
If the database file /etc/login.conf.db exists, you need to rebuild it with:
# cap_mkdb /etc/login.conf
Ensure that the user you intend to build Go with is in the staff login class:
# usermod -L staff your_username_here