diff options
Diffstat (limited to 'google-go-lang/README')
-rw-r--r-- | google-go-lang/README | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/google-go-lang/README b/google-go-lang/README new file mode 100644 index 0000000..0663187 --- /dev/null +++ b/google-go-lang/README @@ -0,0 +1,58 @@ +The Go programming language is an open source project to make +programmers more productive. Go is expressive, concise, clean, +and efficient. Its concurrency mechanisms make it easy to write +programs that get the most out of multicore and networked machines, +while its novel type system enables flexible and modular program +construction. Go compiles quickly to machine code yet has the +convenience of garbage collection and the power of run-time +reflection. It's a fast, statically typed, compiled language that +feels like a dynamically typed, interpreted language. + +The tools are added to the path by putting go.sh and go.csh files in +/etc/profile.d and letting the system's /etc/profile or /etc/csh.login +pick it up. If you want to add any of Go's environment variables you +can add them there. + +Also, to easily setup a user-independent path for Go libraries to +be installed to and used, is the GOPATH environment variable. This +variable can be colon delimited. For example, once installing the +built google-go-lang package, then set in your user's ~/.bashrc +something like: + + export GOPATH="$HOME" + +Then, you'll be able to use the `go` command to install an additional +library that will not need root permission and will be in the +compiler's path. Like so: + + go get golang.org/x/tools/cmd/godoc + +Now in ~/src you'll have this source code checked-out, and a binary +built at ~/bin/godoc + +Since the golang idiom is very `go get'able as a limited user, +installed libraries from slackbuilds.org are located outside of GOROOT +(which is only for golang standard library), in /usr/share/gocode By +not setting a system-wide GOPATH defaulting to this location, then +it is up to the user of whether to include this system path as well, +like: + + export GOPATH="$HOME:/usr/share/gocode" + +This system source directory is primarly only for buildtime of +slackbuilds. + +This is because `go get' iterates through the paths provided, looking +for matching imports. If a match is not found, then is cloned to the +first path provided. You would not want this to be a system path, as +to need root privilege to clone source. + +As of go1.2, the 'go doc ...' command has been relocated to the +go.tools library (golang-googlecode-gotools), which provide `godoc`. + +As of go1.5, shared libraries are now supported. The flags to use +linking are available for `go get`, `go install` and `go build`. +To learn more see `go help buildmode`. + +To elect to run the buildtime tests of this package, provide the +environment variable RUN_TEST=true at build time. |