Want to take your software engineering career to the next level? Join the mailing list for career tips & advice Click here


The Go programming language

Subscribe to updates I use go

Statistics on go

Number of watchers on Github 74513
Number of open issues 6117
Average time to close an issue 1 day
Main language Go
Open pull requests 47+
Closed pull requests 169+
Last commit 19 days ago
Repo Created almost 6 years ago
Repo Last Updated 16 days ago
Size 215 MB
Homepage https://golang.org
Organization / Authorgolang
Page Updated
Do you use go? Leave a review!
View open issues (6117)
View go activity
View on github
Fresh, new opensource launches πŸš€πŸš€πŸš€
Software engineers: It's time to get promoted. Starting NOW! Subscribe to my mailing list and I will equip you with tools, tips and actionable advice to grow in your career.
Evaluating go for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

The Go Programming Language

Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.

Gopher image Gopher image by Renee French, licensed under Creative Commons 3.0 Attributions license.

Our canonical Git repository is located at https://go.googlesource.com/go. There is a mirror of the repository at https://github.com/golang/go.

Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file.

Download and Install

Binary Distributions

Official binary distributions are available at https://golang.org/dl/.

After downloading a binary release, visit https://golang.org/doc/install or load doc/install.html in your web browser for installation instructions.

Install From Source

If a binary distribution is not available for your combination of operating system and architecture, visit https://golang.org/doc/install/source or load doc/install-source.html in your web browser for source installation instructions.


Go is the work of thousands of contributors. We appreciate your help!

To contribute, please read the contribution guidelines: https://golang.org/doc/contribute.html

Note that the Go project uses the issue tracker for bug reports and proposals only. See https://golang.org/wiki/Questions for a list of places to ask questions about the Go language.

go open issues Ask a question     (View All Issues)
  • over 3 years make.bash: $GOBIN is ignored
  • over 3 years proposal: allow the use of fused multiply-add floating point instructions
  • over 3 years x/build/env: add Alpine Linux builder?
  • over 3 years gcimporter: go archive is missing __.PKGDEF
  • over 3 years x/crypto/ssh: add support for multi-step authentication
  • over 3 years go/build: Not very clear that Context.HasSubdir does not check existence of dir.
  • over 3 years x/tools/tour: add support for golang.org/x/tools/imports
  • over 3 years encoding/json Marshalled time location inconsistent in GMT
  • over 3 years net/http: detect Comcast et al DNS and auto-skip DNS tests
  • over 3 years cmd/objdump: does not provide file/line info for files built with -buildmode=pie
  • over 3 years encoding/json: Doesn't Unmarshal anonymous field with custom unmarshaler
  • over 3 years archive/tar: doesn't generate atime entries
  • over 3 years time: Parse does not detect bad days ("00" -> returns wrong date && err=nil)
  • over 3 years Proposal: provide ioutil.SafeWriteFile writing to a tmp file before overwriting an existing file
  • over 3 years hash/adler32: optimize on 64-bit architectures
  • over 3 years go/build: build.Import with FindOnly doesn't check if dir exists for local import paths (it works fine on full import paths, and if FindOnly is not used)
  • over 3 years cmd/compile: elide branches that must be taken
  • over 3 years x/review/git-codereview: handle many-parent merges in hooks
  • over 3 years net/url: optimize unescape and escape
  • over 3 years strings: optimize ToLower and ToUpper
  • over 3 years time: optimize time.Time.Sub and time.Since
  • over 3 years bytes: optimize Buffer.WriteByte
  • over 3 years strings: optimize Fields
  • over 3 years runtime: panic: runtime error: index out of range on ppc64x when accessing ftab
  • over 3 years text/template: line number tracking is O(N^2)
  • over 3 years runtime: duffcopy is not a duff copy
  • over 3 years x/crypto/openpgp: ReadMessage does not support encrypted private key
  • over 3 years net/http: make Transport retry more aggressively on failures if GetBody is set
  • over 3 years cmd/compile: implement duffcopy on ppc64x
  • over 3 years net/http: ServeMux redirect loses query info
go open pull requests (View All Pulls)
  • The Go project does not use pull requests.
  • image/gif: support non-looping animated gifs (LoopCount=-1)
  • cmd/go/internal/get: fix regexes for "any" character matching
  • mime/multipart: test for presence of filename instead of content-type
  • src/testing/cover: missing discription for CoverBlock struct
  • cmd/cgo: clarify implicit "cgo" build constraint
  • net/http: optionally add headers on redirect
  • net/http: lock the read-only mutex in shouldRedirect
  • cmd/go: fix formatting of file paths under cwd
  • add function for bool in math/rand
  • runtime/cgo: Add initial NetBSD Thread Sanitizer support
  • os: enable symlink creation on Windows 10
  • regexp: implement look-behind assertion
  • encoding/json: Fix for #21092 - Zero out target before decoding
  • os/user: obtain a user GID on Windows
  • Add discord to official help sources
  • Update isPrintable to support email address
  • εˆ ι™€ε€šδ½™ζ“δ½œγ€εŽ»ζŽ‰ι‡ε€εˆ€ζ–­γ€δ»£η ι£Žζ Όη»ŸδΈ€
  • cmd/go: use the correct linker config in the buildID hash
  • src/time: Support LMT in MarshalBinary, UnmarshalBinary
  • regexp: link to the regexp syntax documentation from go doc regexp
  • cmd/go: improve gopath documentation about internal directories
  • runtime: dump the status of lockedg on error
  • sync: fix goroutine leak for when TestMutexFairness times out
  • [test] range_escapes2: fix range iterator issue
  • bufio: SplitAt added
  • time: add time format: stampCommon
  • path/filepath: revert "path/filepath: fix EvalSymLink documentation"
  • crypto/ecdsa: fix dead reference link
  • path/filepath: try GetFinalPathNameByHandle with VOLUME_NAME_GUID
  • misc/wasm: fix the empty global fs check
  • [dev.go2go] go/types: avoid endless recursion in self-recursive newty…
  • net/mail: improve date parsing
  • io: add ErrBadWriteCount
  • misc/cgo/test: test C.enum_*
  • strings: add support to split in reverse direction
  • reflect: add parentheses to properly bind <- in ChanOf’s string
  • flag: add Func
  • crypto/rsa: add rand initialization for rsa.SignPSS
  • fmt: explain how Formatter interface affects verbs and flags
  • cmd/internal/objfile: cache goobj.Arch for PCToLine
  • runtime: remove tracebackinit and unused skipPC
  • Fix filepath.EvalSymlinks when symlink is at filesystem root
  • encoding/asn1: support ObjectIdentifier sub-oid values greater than 2^31-1
  • Update path.go
  • net: prefer /etc/hosts over DNS when no /etc/nsswitch.conf is present
  • crypto/x509: add directory name constraints (WIP)
go questions on Stackoverflow (View All Questions)
  • How do I fix the error message "use of an internal package not allowed" when go getting a golang package?
  • in Specman e, is there a way go give messagef non-definitive message_tag?
  • What should go in a redux state tree or not when you work with database or rest api?
  • Two loops on nested functions cause index to go beyond range
  • How can I go through several possibilities without exhausting loops?
  • go struct JSON decode always empty return &{}
  • Go pq and Postgres appropriate error handling for constraints
  • Π‘alling the browser over value in Listview and go to the URL
  • Authenticating if a Facebook account exists - don't want to go through FB login
  • texts and want to tap on texts to go to another view
  • How to go from a sparse array representation to a dense one in CUDA
  • How to check for memory allocation errors in languages : go, python, java?
  • How to delete a word and go into insert mode in Vim?
  • Angular2 routing how to go to base directory
  • execute some code and then go into interactive node
  • Perl doesn't go to error section
  • How would I go about putting StringVar()s within StringVar()?
  • Difference between "variable declaration" and "short variable declaration" at local scope in Go
  • Height for UIViewControllers don't go beyond 10,000
  • How would I go about making "Snake" in Love2D?
  • Why store the old frame pointer when go to next stack frame
  • accumulate items in China and send them in one go to UK
  • Programmatically go back to the previous fragment in the backstack
  • Go: Decoding only one XML node at a time
  • Prevent NestedScrollView top to go up
  • Magento 2 - Event dispatched when a user clicks "Go To Checkout"
  • In which layer should the domain model go?
  • In Go, when a function returns an error, are the other variables always its "zero" value?
  • iFrame, know exactly when there are no more history to go back to
  • Magento admin URL not working: 404 after changing it, can't go back
go list of languages used
Other projects in Go