
# Africa
  * [Golang Buea](https://meetup.com/Docker-Buea) - Buea, Cameroon
  * [Go Egypt](https://web.facebook.com/groups/563213043835298/) - Cairo, Egypt.
  * [Go Cape Town](http://www.meetup.com/gocapetown/) - Cape Town.
  * [golang-dakar](https://plus.google.com/u/0/communities/116552609416802012105) Dakar (Sénégal)
  * [Joburg Golang Group](http://www.meetup.com/Joburg-Golang-Group/) - Johannesburg
  * [angolang](https://plus.google.com/u/0/b/112645881964422842789/communities/111727796450195570970) Luanda, Angola

# Asia

  * [Golang China](http://groups.google.com/group/golang-china) - China.
  * [Golang JP](https://plus.google.com/communities/107075098212007233819) - Japan.
  * [GDG Korea Golang](https://plus.google.com/u/0/communities/115721275599816202991) - Korea.
  * [Golang Vietnam](https://www.facebook.com/golang.org.vn) - [github](https://github.com/golang-vietnam) -  Vietnam 🇻🇳
  * [Golang Taiwan](http://golang.tw) - Taiwan.
  * [Golang India](https://plus.google.com/communities/102083447604771785504) - Bangalore, India.
  * [Golang Chennai](http://www.meetup.com/Chennai-golang-Meetup/) - Chennai, India
  * [Golang Pune](https://plus.google.com/communities/103673348666338246281) - Pune, India.
  * [Golang Israel](http://www.meetup.com/Go-Israel) - Israel.
  * [Singapore Gophers](https://www.facebook.com/groups/golang.sg/) - [Meetup](http://www.meetup.com/golangsg/) - Singapore.
  * [GoJakarta](http://www.meetup.com/GoJakarta) - Jakarta, Indonesia.
  * [Golang Malaysia](https://www.facebook.com/groups/mygolang/) - [Homepage](https://golang.my) - Malaysia.
  * [Go Developers Network Bangladesh](https://www.facebook.com/groups/godevnet/) - Bangladesh.

# Europe

  * [Gophers Aachen](https://www.meetup.com/Gophers-Aachen/) - Aachen, Germany.
  * [Amsterdam, NL](http://www.meetup.com/golang-amsterdam/)
  * [Belarus](http://gophers.by/) - Belarus.
  * [Barcelona](http://golangbcn.org) - Barcelona, Catalunya, Spain.
  * [Brno Golang](http://www.meetup.com/Golang-Brno/) - Brno, the Czech Republic
  * [Cambridge Gophers](http://www.meetup.com/Cambridge-Gophers/) - Cambridge, UK
  * [Suffolk Gophers](https://suffolkgophers.github.io/) - Suffolk, UK
  * [GDG Berlin Golang](http://www.meetup.com/golang-users-berlin/) - Berlin, Germany.
  * [Go-User-Group-Hamburg](http://www.meetup.com/Go-User-Group-Hamburg) - Hamburg, Germany.
  * [Go Lithuania User Group](http://gophers.lt/) - Lithuania, Kaunas.
  * [Go London User Group](http://www.meetup.com/Go-London-User-Group/) - London, UK.
  * [ManGo The Manchester Go User Group](http://mango.computer/) - Manchester, UK.
  * [GoMAD](https://www.meetup.com/go-mad/) - Madrid, Spain 
  * [Go Valhalla](https://t.me/joinchat/AAAAAEJGQn7K_oRUBWaNng) - Valencia, Spain. 🇻🇳
  * [Go Wales User Group](http://golang.cymru/) - Wales, UK.
  * [Golang Москва](http://www.meetup.com/Golang-Moscow/) - Moscow, Russia.
  * [Golang Питер](http://www.meetup.com/Golang-Peter/) - Saint Petersburg, Russia.
  * [Golang Новосибирск](http://www.meetup.com/GolangNSK/) - Novosibirsk, Russia.
  * [Chisinau Golang Meetup](http://www.meetup.com/Chisinau-Golang-Meetup/) - Chisinau, Moldova
  * [Munich Gophers](http://www.meetup.com/Munich-Gophers-Go-User-Group/) - Munich, Germany
  * [Golang Paris](http://www.meetup.com/Golang-Paris) - Paris, France.
  * [Golang Rennes](http://www.meetup.com/Golang-Rennes/) - Rennes, France.
  * [Golang Lyon](http://www.meetup.com/fr-FR/Golang-Lyon/) - Lyon, France.
  * [golang-pl](https://groups.google.com/forum/?fromgroups#!forum/golang-pl) - Poland.
  * [Gophers Katowice](http://www.meetup.com/Gophers-Katowice) - Katowice, Poland.
  * [Golang Warsaw](http://www.meetup.com/Golang-Warsaw) - Warsaw, Poland.
  * [G.L.U.G. Wroclaw](http://www.meetup.com/GoLang-User-Group-Wroclaw/) - Wroclaw, Poland
  * [Golang User Group Trójmiasto](https://www.meetup.com/Golang-User-Group-Trojmiasto/) - Gdańsk/Gdynia/Sopot, Poland
  * [Go-Stockholm](http://www.meetup.com/Go-Stockholm/) - Stockholm, Sweden.
  * [golang-greece](https://groups.google.com/forum/#!forum/golang-greece) - Greece
  * [GolangIT](http://golangit.github.io/) - Italy.
  * [Go-Turkey](https://plus.google.com/communities/101920753066440157216) - Turkey.
  * [Go Graz](http://gograz.org) - Graz, Austria
  * [Meetup Belgium](http://www.meetup.com/Golang-Belgium/) - Belgium
  * [Meetup Lausanne](http://www.meetup.com/Lausanne-golang-Meetup) - Lausanne, Switzerland
  * [Meetup Zurich](http://www.meetup.com/Zurich-Gophers/) - Zurich, Switzerland
  * [Meetup Frankfurt](http://www.meetup.com/Frankfurt-Gophers-Meetup/) - Frankfurt am Main, Germany
  * [Go-ningen](http://www.meetup.com/Go-ningen/) - Groningen, The Netherlands
  * [Golang Ljubljana](http://www.meetup.com/Slovenian-Go-lang-User-Group/) - Ljubljana, Slovenia
  * [Go Euregio](https://plus.google.com/communities/116272759718686417490) - Maastricht, Netherlands; Liège/Hasselt, Belgium; Aachen, Germany
  * [Ukrainian Golang User Group](http://www.meetup.com/uagolang/) - Kyiv, Ukraine
  * [L'viv Golang Group](http://www.meetup.com/Lviv-Golang-Group/) - L'viv, Ukraine
  * [Go SXB, Go!](http://www.meetup.com/fr-FR/Go-SXB-Go/) - Strasbourg, France
  * [Hannover Gophers Meetup](http://www.meetup.com/de-DE/Hannover-Gophers-Meetup/) - Hannover, Germany
  * [Golang Nürnberg](http://www.meetup.com/de-DE/Golang-Nuernberg/) - Nürnberg, Germany
  * [Helsinki Gophers](http://www.meetup.com/Helsinki-Gophers/) - Helsinki, Finland
  * [Golang Cologne](http://www.meetup.com/Golang-Cologne/) - Cologne/Bonn, Germany
  * [Golang Vilnius](http://www.meetup.com/Vilnius-Golang/) - Vilnius, Lithuania
  * [Meetup Surrey](http://www.meetup.com/Surrey-Go-User-Group-Meetup/) - Surrey, UK
  * [Golang Zagreb](https://www.meetup.com/Golang-ZG/) - Zagreb, Croatia


# North America

## Canada

  * [Edmonton Go Meetup](https://edmontongo.org/) - Edmonton AB, Canada.
  * [vangophers](http://groups.google.com/group/vangophers) - Vancouver BC, Canada.
  * [Go Vancouver](https://plus.google.com/u/0/communities/106063002572645508555) - Vancouver BC, Canada.
  * [GolangVan meetup](http://www.meetup.com/golangvan/) - Vancouver BC, Canada.
  * [GolangVan](http://golangvan.org/) - Vancouver BC, Canada.
  * [GoTO](http://www.meetup.com/go-toronto) - Toronto ON, Canada.
  * [Ottawa Go](http://www.meetup.com/Ottawa-Go-Meetup/) - Ottawa ON, Canada.
  * [KW Go Developers](http://www.meetup.com/Golang-KW/) - Waterloo, ON, Canada.
  * [Golang Montréal](https://golangmontreal.org/) - Montréal, QC

## Dominican Republic

  * [Golang Dominicana](https://www.facebook.com/groups/golangdominicana) - República Dominicana.

## Latin America

  * [Golang-ES](https://www.facebook.com/groups/goenespanol) - Golang en Español.

## Mexico

  * [golangmx](http://golang.mx/) - Mexico City, Mexico.
  * [Golang Monterrey](http://www.meetup.com/Golang-MTY/) - Monterrey, Mexico

## United States

  * [Los-Angeles-Gophers](http://www.meetup.com/Los-Angeles-Gophers/) - Los Angeles CA, USA.
  * [Golang Mountain View](http://www.meetup.com/Golang-Mountain-View/) - Mountain View CA, USA.
  * [OC Gophers](http://www.meetup.com/Orange-County-Gophers) - Orange County CA, USA.
  * [SDGophers](http://www.meetup.com/sdgophers/) — San Diego CA, USA
  * [GoSF](http://www.meetup.com/golangsf/) - San Francisco CA, USA.
  * [GoSV](http://www.meetup.com/GolangSV/) - San Mateo CA, USA.
  * [Denver Go Language User Group](http://www.meetup.com/Denver-Go-Language-User-Group/) - Denver CO, USA.
  * [Go-Miami](http://www.meetup.com/Go-Miami/) - Miami FL, USA.
  * [Go-Users-Group-Atlanta](http://www.meetup.com/Go-Users-Group-Atlanta/) - Atlanta GA, USA.
  * [chicagolang](http://groups.google.com/group/chicagolang) - Chicago IL, USA.
  * [Chicago Ultimate Golang](https://www.meetup.com/Chicago-Ultimate-Golang/) - Chicago IL, USA.
  * [Louisville Golang](http://www.meetup.com/Louisville-Golang-Meetup/) - Louisville KY, USA.
  * [Boston Golang](http://bostongolang.org) - Boston MA, USA.
  * [Framingham Go](https://www.meetup.com/Framingham-Golang-Meetup/) - Framingham MA, USA.
  * [GoMN](http://www.meetup.com/golangmn/) - Minneapolis MN, USA.
  * [NYC Go Developers Meetup](http://www.meetup.com/nycgolang/) - New York NY, USA.
  * [New York Go Language Meetup](http://www.meetup.com/golangny/) - New York NY, USA.
  * [GoLangPhilly](http://www.meetup.com/GoLangPhilly/) - Philadelphia PA, USA.
  * [GoLangPhoenix](http://www.meetup.com/Golang-Phoenix/) - Phoenix AZ, USA.
  * [EUG-Go](http://www.meetup.com/EUG-Go/) - Eugene, OR, USA.
  * [PDX-Go](http://www.meetup.com/PDX-Go/) - Portland, OR, USA.
  * [GoLancaster](http://www.meetup.com/GoLancaster/) - Lancaster PA, USA.
  * [ATX-Golang](http://www.meetup.com/atxgolang/) - Austin TX, USA.
  * [GoDFW](http://www.meetup.com/GoCowboys/) - Dallas TX, USA.
  * [Golang Houston](http://www.meetup.com/Golang-Houston/) - Houston TX, USA.
  * [Utah Golang (#UTGO)](http://www.meetup.com/utahgophers/) - Salt Lake City UT, USA.
  * [Golang-DC](http://www.meetup.com/Golang-DC/) - Arlington VA, USA.
  * [Seattle Go Programmers](http://www.meetup.com/golang/) - Seattle WA, USA.
  * [Go Charlotte Meetup](http://www.meetup.com/golangclt/) - Charlotte NC, USA
  * [Triangle Golang](http://www.meetup.com/Triangle-Golang-Meetup/) - Raleigh NC, USA.
  * [Las Vegas Go Meetup](http://www.meetup.com/Las-Vegas-Go-Meetup/) - Las Vegas NV, USA.
  * [Ann Arbor Gophers](http://www.meetup.com/Ann-Arbor-Gophers/) - Ann Arbor MI, USA
  * [Baltimore Metro Area Golang](http://baltimoregolang.org) - Baltimore MD, USA
  * [Nashville Gophers](https://nashgo.org) - Nashville TN, USA
  * [St Louis Go Meetup] (https://www.meetup.com/Saint-Louis-Go-Meetup/) - St Louis, MO, USA.

# Oceania
  * [Canberra Gophers](https://plus.google.com/u/1/communities/114036877112593565975) - Canberra, Australia.
  * [golang-sydney](http://www.meetup.com/golang-syd/) - Sydney, Australia.
  * [golang-nz](http://groups.google.com/group/golang-nz) - New Zealand.
  * [Melbourne-Go-Nuts](http://www.meetup.com/Melbourne-Go-Nuts) - Melbourne, Australia.
  * [Brisbane Gophers](http://www.meetup.com/Brisbane-Golang-Meetup/) - Brisbane, Australia.

# South America
  * [Golang Brasil](https://www.meetup.com/pt-BR/golangbr/) - Brazil.
  * [Golang Argentina](http://www.meetup.com/es-ES/Golang-Argentina/) - Argentina.
  * [Golang Medellín](http://www.meetup.com/Golang-Medellin/) - Colombia.
  * [Golang Chile](https://groups.google.com/d/forum/golang-chile) - Chile.
  * [Golang Panamá](https://groups.google.com/d/forum/golang-panama) - Panamá.
  * [Golang Lima](http://www.meetup.com/es/Golang-Peru/) - Perú