2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								<!-- {
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									"Title": "Installing Go from source",
							 
						 
					
						
							
								
									
										
										
										
											2012-03-05 14:31:27 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									"Path": "/doc/install/source"
							 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}-->
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< h2  id = "introduction" > Introduction< / h2 >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-03-03 09:36:09 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Go is an open source project, distributed under a
							 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< a  href = "/LICENSE" > BSD-style license< / a > . 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								This document explains how to check out the sources,
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								build them on your own machine, and run them.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-03-03 09:36:09 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Most users don't need to do this, and will instead install
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								from precompiled binary packages as described in
							 
						 
					
						
							
								
									
										
										
										
											2012-03-05 14:31:27 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< a  href = "/doc/install" > Getting Started< / a > , 
						 
					
						
							
								
									
										
										
										
											2012-03-03 09:36:09 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								a much simpler process.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								If you want to help develop what goes into those precompiled
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								packages, though, read on.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< div  class = "detail" >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
									
										
										
										
											2018-01-09 15:26:21 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								There are two official Go compiler toolchains.
							 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								This document focuses on the < code > gc< / code >  Go
							 
						 
					
						
							
								
									
										
										
										
											2015-06-24 09:50:12 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								compiler and tools.
							 
						 
					
						
							
								
									
										
										
										
											2012-03-03 09:36:09 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								For information on how to work on < code > gccgo< / code > , a more traditional
							 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								compiler using the GCC back end, see
							 
						 
					
						
							
								
									
										
										
										
											2012-03-05 14:31:27 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< a  href = "/doc/install/gccgo" > Setting up and using gccgo< / a > . 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
									
										
										
										
											2016-12-01 23:12:18 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								The Go compilers support eight instruction sets.
							 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								There are important differences in the quality of the compilers for the different
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								architectures.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< dl >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< dt >  
						 
					
						
							
								
									
										
										
										
											2015-06-10 21:56:01 +12:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									< code > amd64< / code >  (also known as < code > x86-64< / code > )
							 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< / dt >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< dd >  
						 
					
						
							
								
									
										
										
										
											2016-10-18 15:54:04 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									A mature implementation.
							 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< / dd >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< dt >  
						 
					
						
							
								
									
										
										
										
											2015-06-10 21:56:01 +12:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									< code > 386< / code >  (< code > x86< / code >  or < code > x86-32< / code > )
							 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< / dt >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< dd >  
						 
					
						
							
								
									
										
										
										
											2016-10-18 15:54:04 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									Comparable to the < code > amd64< / code >  port.
							 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< / dd >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< dt >  
						 
					
						
							
								
									
										
										
										
											2015-06-10 21:56:01 +12:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									< code > arm< / code >  (< code > ARM< / code > )
							 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< / dt >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< dd >  
						 
					
						
							
								
									
										
										
										
											2016-12-01 23:12:18 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									Supports Linux, FreeBSD, NetBSD, OpenBSD and Darwin binaries. Less widely used than the other ports.
							 
						 
					
						
							
								
									
										
										
										
											2015-06-10 21:56:01 +12:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / dd >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< dt >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									< code > arm64< / code >  (< code > AArch64< / code > )
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / dt >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< dd >  
						 
					
						
							
								
									
										
										
										
											2016-05-24 14:12:35 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									Supports Linux and Darwin binaries. New in 1.5 and not as well exercised as other ports.
							 
						 
					
						
							
								
									
										
										
										
											2015-06-10 21:56:01 +12:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / dd >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< dt >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									< code > ppc64, ppc64le< / code >  (64-bit PowerPC big- and little-endian)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / dt >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< dd >  
						 
					
						
							
								
									
										
										
										
											2016-05-24 14:12:35 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									Supports Linux binaries. New in 1.5 and not as well exercised as other ports.
							 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< / dd >  
						 
					
						
							
								
									
										
										
										
											2016-12-01 23:12:18 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< dt >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									< code > mips, mipsle< / code >  (32-bit MIPS big- and little-endian)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / dt >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< dd >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Supports Linux binaries. New in 1.8 and not as well exercised as other ports.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / dd >  
						 
					
						
							
								
									
										
										
										
											2015-11-13 03:12:26 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< dt >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									< code > mips64, mips64le< / code >  (64-bit MIPS big- and little-endian)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / dt >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< dd >  
						 
					
						
							
								
									
										
										
										
											2016-05-24 14:12:35 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									Supports Linux binaries. New in 1.6 and not as well exercised as other ports.
							 
						 
					
						
							
								
									
										
										
										
											2015-11-13 03:12:26 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / dd >  
						 
					
						
							
								
									
										
										
										
											2016-06-20 15:33:52 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< dt >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									< code > s390x< / code >  (IBM System z)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / dt >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< dd >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Supports Linux binaries. New in 1.7 and not as well exercised as other ports.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / dd >  
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< / dl >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Except for things like low-level operating system interface code, the run-time
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								support is the same in all ports and includes a mark-and-sweep garbage
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								collector, efficient array and string slicing, and support for efficient
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								goroutines, such as stacks that grow and shrink on demand.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
									
										
										
										
											2014-03-26 14:06:18 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								The compilers can target the DragonFly BSD, FreeBSD, Linux, NetBSD, OpenBSD,
							 
						 
					
						
							
								
									
										
										
										
											2018-06-19 16:14:00 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								macOS (Darwin), Plan 9, Solaris and Windows operating systems.
							 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								The full set of supported combinations is listed in the discussion of
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< a  href = "#environment" > environment variables< / a >  below. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-01-06 15:51:01 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								See the main installation page for the < a  href = "/doc/install#requirements" > overall system requirements< / a > .
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								The following additional constraints apply to systems that can be built only from source:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< ul >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< li > For Linux on PowerPC 64-bit, the minimum supported kernel version is 2.6.37, meaning that 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Go does not support CentOS 6 on these systems.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / li >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / ul >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< / div >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-02-11 12:44:50 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< h2  id = "go14" > Install Go compiler binaries< / h2 >  
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
									
										
										
										
											2018-01-09 15:26:21 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								The Go toolchain is written in Go. To build it, you need a Go compiler installed.
							 
						 
					
						
							
								
									
										
										
										
											2015-02-11 12:44:50 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								The scripts that do the initial build of the tools look for an existing Go tool
							 
						 
					
						
							
								
									
										
										
										
											2016-10-28 18:03:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								chain in < code > $GOROOT_BOOTSTRAP< / code > .
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								If unset, the default value of < code > GOROOT_BOOTSTRAP< / code > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								is < code > $HOME/go1.4< / code > .
							 
						 
					
						
							
								
									
										
										
										
											2015-02-11 12:44:50 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
									
										
										
										
											2018-01-09 15:26:21 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								There are many options for the bootstrap toolchain.
							 
						 
					
						
							
								
									
										
										
										
											2016-10-28 18:03:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								After obtaining one, set < code > GOROOT_BOOTSTRAP< / code >  to the
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								directory containing the unpacked tree.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								For example, < code > $GOROOT_BOOTSTRAP/bin/go< / code >  should be
							 
						 
					
						
							
								
									
										
										
										
											2018-01-09 15:26:21 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								the < code > go< / code >  command binary for the bootstrap toolchain.
							 
						 
					
						
							
								
									
										
										
										
											2015-02-11 12:44:50 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
									
										
										
										
											2018-01-09 15:26:21 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								To use a binary release as a bootstrap toolchain, see
							 
						 
					
						
							
								
									
										
										
										
											2016-10-28 18:03:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< a  href = "/dl/" > the downloads page< / a >  or use any other 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								packaged Go distribution.
							 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-06-10 22:13:39 +12:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
									
										
										
										
											2018-01-09 15:26:21 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								To build a bootstrap toolchain from source, use
							 
						 
					
						
							
								
									
										
										
										
											2016-10-28 18:03:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								either the git branch < code > release-branch.go1.4< / code >  or
							 
						 
					
						
							
								
									
										
										
										
											2017-11-26 11:30:39 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< a  href = "https://dl.google.com/go/go1.4-bootstrap-20171003.tar.gz" > go1.4-bootstrap-20171003.tar.gz< / a > , 
						 
					
						
							
								
									
										
										
										
											2016-10-28 18:03:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								which contains the Go 1.4 source code plus accumulated fixes
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								to keep the tools running on newer operating systems.
							 
						 
					
						
							
								
									
										
										
										
											2018-01-09 15:26:21 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								(Go 1.4 was the last distribution in which the toolchain was written in C.)
							 
						 
					
						
							
								
									
										
										
										
											2017-01-24 09:56:57 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								After unpacking the Go 1.4 source, < code > cd< / code >  to
							 
						 
					
						
							
								
									
										
										
										
											2017-09-08 14:38:10 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								the < code > src< / code >  subdirectory, set < code > CGO_ENABLED=0< / code >  in
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								the environment, and run < code > make.bash< / code >  (or,
							 
						 
					
						
							
								
									
										
										
										
											2017-01-24 09:56:57 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								on Windows, < code > make.bat< / code > ).
							 
						 
					
						
							
								
									
										
										
										
											2016-10-28 18:03:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
									
										
										
										
											2018-01-09 15:26:21 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								To cross-compile a bootstrap toolchain from source, which is
							 
						 
					
						
							
								
									
										
										
										
											2016-10-28 18:03:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								necessary on systems Go 1.4 did not target (for
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								example, < code > linux/ppc64le< / code > ), install Go on a different system
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								and run < a  href = "/src/bootstrap.bash" > bootstrap.bash< / a > .
							 
						 
					
						
							
								
									
										
										
										
											2015-06-10 22:13:39 +12:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								When run as (for example)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< pre >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$ GOOS=linux GOARCH=ppc64 ./bootstrap.bash
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / pre >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< code > bootstrap.bash< / code >  cross-compiles a toolchain for that < code > GOOS/GOARCH< / code >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								combination, leaving the resulting tree in < code > ../../go-${GOOS}-${GOARCH}-bootstrap< / code > .
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								That tree can be copied to a machine of the given target type
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								and used as < code > GOROOT_BOOTSTRAP< / code >  to bootstrap a local build.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
									
										
										
										
											2016-10-28 18:03:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								To use gccgo as the bootstrap toolchain, you need to arrange
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for < code > $GOROOT_BOOTSTRAP/bin/go< / code >  to be the go tool that comes
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								as part of gccgo 5. For example on Ubuntu Vivid:
							 
						 
					
						
							
								
									
										
										
										
											2015-06-10 22:13:39 +12:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< pre >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$ sudo apt-get install gccgo-5
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$ sudo update-alternatives --set go /usr/bin/go-5
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$ GOROOT_BOOTSTRAP=/usr ./make.bash
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / pre >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-12-12 13:53:29 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< h2  id = "git" > Install Git, if needed< / h2 >  
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
									
										
										
										
											2014-12-12 13:53:29 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								To perform the next step you must have Git installed. (Check that you
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								have a < code > git< / code >  command before proceeding.)
							 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
									
										
										
										
											2014-12-12 13:53:29 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								If you do not have a working Git installation,
							 
						 
					
						
							
								
									
										
										
										
											2012-04-14 13:27:11 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								follow the instructions on the
							 
						 
					
						
							
								
									
										
										
										
											2018-06-13 07:06:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< a  href = "https://git-scm.com/downloads" > Git downloads< / a >  page. 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-01-26 22:56:08 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< h2  id = "ccompiler" > (Optional) Install a C compiler< / h2 >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								To build a Go installation
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								with < code > < a  href = "/cmd/cgo" > cgo< / a > < / code >  support, which permits Go
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								programs to import C libraries, a C compiler such as < code > gcc< / code > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								or < code > clang< / code >  must be installed first. Do this using whatever
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								installation method is standard on the system.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								To build without < code > cgo< / code > , set the environment variable
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< code > CGO_ENABLED=0< / code >  before running < code > all.bash< / code >  or 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< code > make.bash< / code > . 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< h2  id = "fetch" > Fetch the repository< / h2 >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p > Go will install to a directory named < code > go< / code > . 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Change to the directory that will be its parent
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								and make sure the < code > go< / code >  directory does not exist.
							 
						 
					
						
							
								
									
										
										
										
											2016-04-14 12:12:11 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Then clone the repository and check out the latest release tag
							 
						 
					
						
							
								
									
										
										
										
											2017-08-24 11:52:35 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								(< code  class = "versionTag" > go1.9< / code > , for example):< / p > 
							 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< pre >  
						 
					
						
							
								
									
										
										
										
											2014-12-12 13:53:29 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								$ git clone https://go.googlesource.com/go
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$ cd go
							 
						 
					
						
							
								
									
										
										
										
											2016-04-14 12:12:11 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								$ git checkout < span  class = "versionTag" > < i > < tag> < / i > < / span > 
							 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< / pre >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-04-14 12:12:11 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< p  class = "whereTag" >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Where < code > < tag> < / code >  is the version string of the release.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-12-12 13:53:29 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< h2  id = "head" > (Optional) Switch to the master branch< / h2 >  
						 
					
						
							
								
									
										
										
										
											2012-09-26 14:39:31 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p > If you intend to modify the go source code, and 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< a  href = "/doc/contribute.html" > contribute your changes< / a >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								to the project, then move your repository
							 
						 
					
						
							
								
									
										
										
										
											2014-12-12 13:53:29 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								off the release branch, and onto the master (development) branch.
							 
						 
					
						
							
								
									
										
										
										
											2012-09-26 14:39:31 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Otherwise, skip this step.< / p > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< pre >  
						 
					
						
							
								
									
										
										
										
											2014-12-12 13:53:29 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								$ git checkout master
							 
						 
					
						
							
								
									
										
										
										
											2012-09-26 14:39:31 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / pre >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< h2  id = "install" > Install Go< / h2 >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								To build the Go distribution, run
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< pre >  
						 
					
						
							
								
									
										
										
										
											2015-02-25 10:57:45 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								$ cd src
							 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								$ ./all.bash
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / pre >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								(To build under Windows use < code > all.bat< / code > .)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								If all goes well, it will finish by printing output like:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< pre >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								ALL TESTS PASSED
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								---
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Installed Go for linux/amd64 in /home/you/go.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Installed commands in /home/you/go/bin.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								*** You need to add /home/you/go/bin to your $PATH. ***
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / pre >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								where the details on the last few lines reflect the operating system,
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								architecture, and root directory used during the install.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< div  class = "detail" >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								For more information about ways to control the build, see the discussion of
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< a  href = "#environment" > environment variables< / a >  below. 
						 
					
						
							
								
									
										
										
										
											2013-12-15 21:03:12 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< code > all.bash< / code >  (or < code > all.bat< / code > ) runs important tests for Go, 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								which can take more time than simply building Go. If you do not want to run
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								the test suite use < code > make.bash< / code >  (or < code > make.bat< / code > )
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								instead.
							 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / div >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< h2  id = "testing" > Testing your installation< / h2 >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Check that Go is installed correctly by building a simple program.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Create a file named < code > hello.go< / code >  and put the following program in it:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< pre >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								package main
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import "fmt"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func main() {
							 
						 
					
						
							
								
									
										
										
										
											2018-04-11 03:22:59 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									fmt.Printf("hello, world\n")
							 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / pre >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Then run it with the < code > go< / code >  tool:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< pre >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$ go run hello.go
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hello, world
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / pre >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								If you see the "hello, world" message then Go is installed correctly.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-06-13 10:33:02 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< h2  id = "gopath" > Set up your work environment< / h2 >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
									
										
										
										
											2013-11-21 07:55:29 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								You're almost done.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								You just need to do a little more setup.
							 
						 
					
						
							
								
									
										
										
										
											2012-06-13 10:33:02 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-11-21 07:55:29 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< a  href = "/doc/code.html"  class = "download"  id = "start" >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< span  class = "big" > How to Write Go Code< / span >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< span  class = "desc" > Learn how to set up and use the Go tools< / span >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / a >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
									
										
										
										
											2016-12-01 17:45:26 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								The < a  href = "/doc/code.html" > How to Write Go Code< / a >  document
							 
						 
					
						
							
								
									
										
										
										
											2013-11-21 07:55:29 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								provides < b > essential setup instructions< / b >  for using the Go tools.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-09-25 14:10:49 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< h2  id = "tools" > Install additional tools< / h2 >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
									
										
										
										
											2013-09-25 14:27:23 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								The source code for several Go tools (including < a  href = "/cmd/godoc/" > godoc< / a > )
							 
						 
					
						
							
								
									
										
										
										
											2014-11-10 09:15:57 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								is kept in < a  href = "https://golang.org/x/tools" > the go.tools repository< / a > .
							 
						 
					
						
							
								
									
										
										
										
											2019-02-12 20:45:45 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								To install one of the tools (< code > godoc< / code >  in this case):
							 
						 
					
						
							
								
									
										
										
										
											2013-09-25 14:10:49 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< pre >  
						 
					
						
							
								
									
										
										
										
											2014-11-10 09:15:57 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								$ go get golang.org/x/tools/cmd/godoc
							 
						 
					
						
							
								
									
										
										
										
											2013-09-25 14:10:49 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / pre >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
									
										
										
										
											2016-12-01 17:45:26 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								To install these tools, the < code > go< / code >  < code > get< / code >  command requires
							 
						 
					
						
							
								
									
										
										
										
											2014-12-12 13:53:29 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								that < a  href = "#git" > Git< / a >  be installed locally.
							 
						 
					
						
							
								
									
										
										
										
											2013-09-25 14:10:49 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								You must also have a workspace (< code > GOPATH< / code > ) set up;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								see < a  href = "/doc/code.html" > How to Write Go Code< / a >  for the details.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< h2  id = "community" > Community resources< / h2 >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
									
										
										
										
											2012-03-03 09:36:09 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								The usual community resources such as
							 
						 
					
						
							
								
									
										
										
										
											2018-06-13 07:06:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< code > #go-nuts< / code >  on the < a  href = "https://freenode.net/" > Freenode< / a >  IRC server 
						 
					
						
							
								
									
										
										
										
											2012-03-03 09:36:09 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								and the
							 
						 
					
						
							
								
									
										
										
										
											2014-07-25 10:28:39 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< a  href = "//groups.google.com/group/golang-nuts" > Go Nuts< / a >  
						 
					
						
							
								
									
										
										
										
											2012-03-03 09:36:09 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								mailing list have active developers that can help you with problems
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								with your installation or your development work.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								For those who wish to keep up to date,
							 
						 
					
						
							
								
									
										
										
										
											2014-07-25 10:28:39 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								there is another mailing list, < a  href = "//groups.google.com/group/golang-checkins" > golang-checkins< / a > ,
							 
						 
					
						
							
								
									
										
										
										
											2012-03-03 09:36:09 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								that receives a message summarizing each checkin to the Go repository.
							 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
									
										
										
										
											2014-12-12 13:53:29 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Bugs can be reported using the < a  href = "//golang.org/issue/new" > Go issue tracker< / a > .
							 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< h2  id = "releases" > Keeping up with releases< / h2 >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
									
										
										
										
											2014-12-12 13:53:29 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								New releases are announced on the
							 
						 
					
						
							
								
									
										
										
										
											2014-07-25 10:28:39 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< a  href = "//groups.google.com/group/golang-announce" > golang-announce< / a >  
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								mailing list.
							 
						 
					
						
							
								
									
										
										
										
											2014-12-12 13:53:29 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Each announcement mentions the latest release tag, for instance,
							 
						 
					
						
							
								
									
										
										
										
											2017-08-24 11:52:35 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< code  class = "versionTag" > go1.9< / code > . 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								To update an existing tree to the latest release, you can run:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< pre >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$ cd go/src
							 
						 
					
						
							
								
									
										
										
										
											2014-12-12 13:53:29 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								$ git fetch
							 
						 
					
						
							
								
									
										
										
										
											2016-04-14 12:12:11 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								$ git checkout < span  class = "versionTag" > < i > < tag> < / i > < / psan > 
							 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								$ ./all.bash
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / pre >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-04-14 12:12:11 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< p  class = "whereTag" >  
						 
					
						
							
								
									
										
										
										
											2014-12-12 13:53:29 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Where < code > < tag> < / code >  is the version string of the release.
							 
						 
					
						
							
								
									
										
										
										
											2016-04-14 12:12:11 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
									
										
										
										
											2014-12-12 13:53:29 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< h2  id = "environment" > Optional environment variables< / h2 >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								The Go compilation environment can be customized by environment variables.
							 
						 
					
						
							
								
									
										
										
										
											2012-03-03 09:36:09 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< i > None is required by the build< / i > , but you may wish to set some 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								to override the defaults.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-06-09 23:15:39 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< ul >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< li > < code > $GOROOT< / code >  
						 
					
						
							
								
									
										
										
										
											2012-03-06 15:16:02 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
									
										
										
										
											2016-11-30 14:56:58 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								The root of the Go tree, often < code > $HOME/go1.X< / code > .
							 
						 
					
						
							
								
									
										
										
										
											2012-03-06 15:16:02 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Its value is built into the tree when it is compiled, and
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								defaults to the parent of the directory where < code > all.bash< / code >  was run.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								There is no need to set this unless you want to switch between multiple
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								local copies of the repository.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
									
										
										
										
											2018-01-30 16:55:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / li >  
						 
					
						
							
								
									
										
										
										
											2012-03-06 15:16:02 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-06-09 23:15:39 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< li > < code > $GOROOT_FINAL< / code >  
						 
					
						
							
								
									
										
										
										
											2012-03-06 15:16:02 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								The value assumed by installed binaries and scripts when
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< code > $GOROOT< / code >  is not set explicitly. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								It defaults to the value of < code > $GOROOT< / code > .
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								If you want to build the Go tree in one location
							 
						 
					
						
							
								
									
										
										
										
											2016-12-01 17:45:26 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								but move it elsewhere after the build, set
							 
						 
					
						
							
								
									
										
										
										
											2012-03-06 15:16:02 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< code > $GOROOT_FINAL< / code >  to the eventual location. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
									
										
										
										
											2018-01-30 16:55:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / li >  
						 
					
						
							
								
									
										
										
										
											2012-03-06 15:16:02 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-06-09 23:15:39 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< li > < code > $GOOS< / code >  and < code > $GOARCH< / code >  
						 
					
						
							
								
									
										
										
										
											2012-03-06 15:16:02 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								The name of the target operating system and compilation architecture.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								These default to the values of < code > $GOHOSTOS< / code >  and
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< code > $GOHOSTARCH< / code >  respectively (described below). 
						 
					
						
							
								
									
										
										
										
											2018-01-30 16:55:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / li >  
						 
					
						
							
								
									
										
										
										
											2012-03-06 15:16:02 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Choices for < code > $GOOS< / code >  are
							 
						 
					
						
							
								
									
										
										
										
											2018-06-19 16:14:00 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< code > darwin< / code >  (macOS 10.10 and above and iOS), < code > dragonfly< / code > , < code > freebsd< / code > , 
						 
					
						
							
								
									
										
										
										
											2015-06-10 21:56:01 +12:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< code > linux< / code > , < code > netbsd< / code > , < code > openbsd< / code > , 
						 
					
						
							
								
									
										
										
										
											2014-03-25 23:21:28 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< code > plan9< / code > , < code > solaris< / code >  and < code > windows< / code > . 
						 
					
						
							
								
									
										
										
										
											2012-03-06 15:16:02 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Choices for < code > $GOARCH< / code >  are
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< code > amd64< / code >  (64-bit x86, the most mature port), 
						 
					
						
							
								
									
										
										
										
											2015-06-10 21:56:01 +12:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< code > 386< / code >  (32-bit x86), < code > arm< / code >  (32-bit ARM), < code > arm64< / code >  (64-bit ARM), 
						 
					
						
							
								
									
										
										
										
											2015-11-13 03:12:26 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< code > ppc64le< / code >  (PowerPC 64-bit, little-endian), < code > ppc64< / code >  (PowerPC 64-bit, big-endian), 
						 
					
						
							
								
									
										
										
										
											2017-08-23 12:45:27 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< code > mips64le< / code >  (MIPS 64-bit, little-endian), < code > mips64< / code >  (MIPS 64-bit, big-endian), 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< code > mipsle< / code >  (MIPS 32-bit, little-endian), < code > mips< / code >  (MIPS 32-bit, big-endian), and 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< code > s390x< / code >  (IBM System z 64-bit, big-endian). 
						 
					
						
							
								
									
										
										
										
											2012-03-06 15:16:02 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								The valid combinations of < code > $GOOS< / code >  and < code > $GOARCH< / code >  are:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< table  cellpadding = "0" >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
									
										
										
										
											2013-06-09 23:15:39 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< th  width = "50" > < / th > < th  align = "left"  width = "100" > < code > $GOOS< / code > < / th >  < th  align = "left"  width = "100" > < code > $GOARCH< / code > < / th >  
						 
					
						
							
								
									
										
										
										
											2012-03-06 15:16:02 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
									
										
										
										
											2016-02-24 15:06:03 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< td > < / td > < td > < code > android< / code > < / td >  < td > < code > arm< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
									
										
										
										
											2012-03-06 15:16:02 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< td > < / td > < td > < code > darwin< / code > < / td >  < td > < code > 386< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< td > < / td > < td > < code > darwin< / code > < / td >  < td > < code > amd64< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
									
										
										
										
											2015-06-10 21:56:01 +12:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< td > < / td > < td > < code > darwin< / code > < / td >  < td > < code > arm< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< td > < / td > < td > < code > darwin< / code > < / td >  < td > < code > arm64< / code > < / td >  
						 
					
						
							
								
									
										
										
										
											2014-03-26 14:06:18 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< td > < / td > < td > < code > dragonfly< / code > < / td >  < td > < code > amd64< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
									
										
										
										
											2012-03-06 15:16:02 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< td > < / td > < td > < code > freebsd< / code > < / td >  < td > < code > 386< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< td > < / td > < td > < code > freebsd< / code > < / td >  < td > < code > amd64< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
									
										
										
										
											2013-06-09 23:15:39 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< td > < / td > < td > < code > freebsd< / code > < / td >  < td > < code > arm< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
									
										
										
										
											2012-03-06 15:16:02 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< td > < / td > < td > < code > linux< / code > < / td >  < td > < code > 386< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< td > < / td > < td > < code > linux< / code > < / td >  < td > < code > amd64< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< td > < / td > < td > < code > linux< / code > < / td >  < td > < code > arm< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
									
										
										
										
											2015-06-10 21:56:01 +12:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< td > < / td > < td > < code > linux< / code > < / td >  < td > < code > arm64< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< td > < / td > < td > < code > linux< / code > < / td >  < td > < code > ppc64< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< td > < / td > < td > < code > linux< / code > < / td >  < td > < code > ppc64le< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
									
										
										
										
											2016-12-01 23:12:18 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< td > < / td > < td > < code > linux< / code > < / td >  < td > < code > mips< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< td > < / td > < td > < code > linux< / code > < / td >  < td > < code > mipsle< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
									
										
										
										
											2015-11-13 03:12:26 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< td > < / td > < td > < code > linux< / code > < / td >  < td > < code > mips64< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< td > < / td > < td > < code > linux< / code > < / td >  < td > < code > mips64le< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
									
										
										
										
											2017-08-23 12:45:27 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< td > < / td > < td > < code > linux< / code > < / td >  < td > < code > s390x< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
									
										
										
										
											2012-03-06 15:16:02 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< td > < / td > < td > < code > netbsd< / code > < / td >  < td > < code > 386< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< td > < / td > < td > < code > netbsd< / code > < / td >  < td > < code > amd64< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
									
										
										
										
											2013-06-09 23:15:39 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< td > < / td > < td > < code > netbsd< / code > < / td >  < td > < code > arm< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
									
										
										
										
											2012-03-06 15:16:02 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< td > < / td > < td > < code > openbsd< / code > < / td >  < td > < code > 386< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< td > < / td > < td > < code > openbsd< / code > < / td >  < td > < code > amd64< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
									
										
										
										
											2015-06-10 21:56:01 +12:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< td > < / td > < td > < code > openbsd< / code > < / td >  < td > < code > arm< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
									
										
										
										
											2012-03-06 15:16:02 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< td > < / td > < td > < code > plan9< / code > < / td >  < td > < code > 386< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
									
										
										
										
											2013-06-09 23:15:39 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< td > < / td > < td > < code > plan9< / code > < / td >  < td > < code > amd64< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
									
										
										
										
											2014-03-25 23:21:28 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< td > < / td > < td > < code > solaris< / code > < / td >  < td > < code > amd64< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
									
										
										
										
											2012-03-06 15:16:02 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< td > < / td > < td > < code > windows< / code > < / td >  < td > < code > 386< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< td > < / td > < td > < code > windows< / code > < / td >  < td > < code > amd64< / code > < / td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / tr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / table >  
						 
					
						
							
								
									
										
										
										
											2015-07-22 16:30:32 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< br >  
						 
					
						
							
								
									
										
										
										
											2012-03-06 15:16:02 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-06-09 23:15:39 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< li > < code > $GOHOSTOS< / code >  and < code > $GOHOSTARCH< / code >  
						 
					
						
							
								
									
										
										
										
											2012-03-06 15:16:02 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								The name of the host operating system and compilation architecture.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								These default to the local system's operating system and
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								architecture.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
									
										
										
										
											2018-01-30 16:55:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / li >  
						 
					
						
							
								
									
										
										
										
											2012-03-06 15:16:02 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Valid choices are the same as for < code > $GOOS< / code >  and
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< code > $GOARCH< / code > , listed above. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								The specified values must be compatible with the local system.
							 
						 
					
						
							
								
									
										
										
										
											2016-12-01 17:45:26 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								For example, you should not set < code > $GOHOSTARCH< / code >  to
							 
						 
					
						
							
								
									
										
										
										
											2012-03-06 15:16:02 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< code > arm< / code >  on an x86 system. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-06-09 23:15:39 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< li > < code > $GOBIN< / code >  
						 
					
						
							
								
									
										
										
										
											2012-03-06 15:16:02 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
									
										
										
										
											2012-03-27 11:57:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								The location where Go binaries will be installed.
							 
						 
					
						
							
								
									
										
										
										
											2012-03-06 15:16:02 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								The default is < code > $GOROOT/bin< / code > .
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								After installing, you will want to arrange to add this
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								directory to your < code > $PATH< / code > , so you can use the tools.
							 
						 
					
						
							
								
									
										
										
										
											2012-03-27 11:57:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								If < code > $GOBIN< / code >  is set, the < a  href = "/cmd/go" > go command< / a > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								installs all commands there.
							 
						 
					
						
							
								
									
										
										
										
											2012-03-06 15:16:02 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
									
										
										
										
											2018-01-30 16:55:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / li >  
						 
					
						
							
								
									
										
										
										
											2012-03-06 15:16:02 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-06-09 23:15:39 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< li > < code > $GO386< / code >  (for < code > 386< / code >  only, default is auto-detected 
						 
					
						
							
								
									
										
										
										
											2014-06-04 19:53:37 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if built on either < code > 386< / code >  or < code > amd64< / code > , < code > 387< / code >  otherwise)
							 
						 
					
						
							
								
									
										
										
										
											2013-06-09 23:15:39 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
									
										
										
										
											2015-06-24 09:50:12 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								This controls the code generated by gc to use either the 387 floating-point unit
							 
						 
					
						
							
								
									
										
										
										
											2013-06-09 23:15:39 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								(set to < code > 387< / code > ) or SSE2 instructions (set to < code > sse2< / code > ) for
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								floating point computations.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< ul >  
						 
					
						
							
								
									
										
										
										
											2018-01-30 16:55:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									< li > < code > GO386=387< / code > : use x87 for floating point operations; should support all x86 chips (Pentium MMX or later).< / li > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									< li > < code > GO386=sse2< / code > : use SSE2 for floating point operations; has better performance than 387, but only available on Pentium 4/Opteron/Athlon 64 or later.< / li > 
							 
						 
					
						
							
								
									
										
										
										
											2013-06-09 23:15:39 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / ul >  
						 
					
						
							
								
									
										
										
										
											2018-01-30 16:55:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / li >  
						 
					
						
							
								
									
										
										
										
											2013-06-09 23:15:39 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< li > < code > $GOARM< / code >  (for < code > arm< / code >  only; default is auto-detected if building 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								on the target processor, 6 if not)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								This sets the ARM floating point co-processor architecture version the run-time
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								should target. If you are compiling on the target system, its value will be auto-detected.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< ul >  
						 
					
						
							
								
									
										
										
										
											2018-01-30 16:55:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									< li > < code > GOARM=5< / code > : use software floating point; when CPU doesn't have VFP co-processor< / li > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									< li > < code > GOARM=6< / code > : use VFPv1 only; default if cross compiling; usually ARM11 or better cores (VFPv2 or better is also supported)< / li > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									< li > < code > GOARM=7< / code > : use VFPv3; usually Cortex-A cores< / li > 
							 
						 
					
						
							
								
									
										
										
										
											2013-06-09 23:15:39 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / ul >  
						 
					
						
							
								
									
										
										
										
											2012-03-06 15:16:02 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
									
										
										
										
											2013-06-09 23:15:39 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								If in doubt, leave this variable unset, and adjust it if required
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								when you first run the Go executable.
							 
						 
					
						
							
								
									
										
										
										
											2014-07-25 10:28:39 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								The < a  href = "//golang.org/wiki/GoArm" > GoARM< / a >  page
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								on the < a  href = "//golang.org/wiki" > Go community wiki< / a > 
							 
						 
					
						
							
								
									
										
										
										
											2013-06-09 23:15:39 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								contains further details regarding Go's ARM support.
							 
						 
					
						
							
								
									
										
										
										
											2012-03-06 15:16:02 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
									
										
										
										
											2018-01-30 16:55:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / li >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-08-29 13:56:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< li > < code > $GOMIPS< / code >  (for < code > mips< / code >  and < code > mipsle< / code >  only) < br >  < code > $GOMIPS64< / code >  (for < code > mips64< / code >  and < code > mips64le< / code >  only) 
						 
					
						
							
								
									
										
										
										
											2018-01-30 16:55:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
									
										
										
										
											2018-08-29 13:56:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									These variables set whether to use floating point instructions. Set to "< code > hardfloat< / code > " to use floating point instructions; this is the default.  Set to "< code > softfloat< / code > " to use soft floating point.
							 
						 
					
						
							
								
									
										
										
										
											2018-01-30 16:55:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / li >  
						 
					
						
							
								
									
										
										
										
											2012-03-06 15:16:02 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-01-11 17:16:28 -02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< li > < code > $GOPPC64< / code >  (for < code > ppc64< / code >  and < code > ppc64le< / code >  only) 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								This variable sets the processor level (i.e. Instruction Set Architecture version)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								for which the compiler will target. The default is < code > power8< / code > .
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< ul >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									< li > < code > GOPPC64=power8< / code > : generate ISA v2.07 instructions< / li > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									< li > < code > GOPPC64=power9< / code > : generate ISA v3.00 instructions< / li > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / ul >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / li >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-06-09 23:15:39 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / ul >  
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Note that < code > $GOARCH< / code >  and < code > $GOOS< / code >  identify the
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< em > target< / em >  environment, not the environment you are running on. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								In effect, you are always cross-compiling.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								By architecture, we mean the kind of binaries
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								that the target environment can run:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								an x86-64 system running a 32-bit-only operating system
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								must set < code > GOARCH< / code >  to < code > 386< / code > ,
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								not < code > amd64< / code > .
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								If you choose to override the defaults,
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set these variables in your shell profile (< code > $HOME/.bashrc< / code > ,
							 
						 
					
						
							
								
									
										
										
										
											2016-12-01 17:45:26 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< code > $HOME/.profile< / code > , or equivalent). The settings might look 
						 
					
						
							
								
									
										
										
										
											2012-02-14 17:02:28 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								something like this:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< pre >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								export GOARCH=amd64
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								export GOOS=linux
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / pre >  
						 
					
						
							
								
									
										
										
										
											2012-03-03 09:36:09 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								although, to reiterate, none of these variables needs to be set to build,
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								install, and develop the Go tree.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >