# 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
  * [Golang Nigeria](https://www.meetup.com/GolangNigeria/) - Lagos, Nigeria
  * [Gophers Mauritius](https://www.gophers.mu/) - Mauritius
  * [cyberstorm.mu](https://cyberstorm.mu/) - Mauritius

# Asia
* [Golang ِArabic Community](https://www.facebook.com/groups/111860102810970/)
* [Golang Azerbaijan](https://www.facebook.com/groups/852343094928521/) - Baku, Azerbaijan 🇦🇿
* [Golang Iraq](https://www.facebook.com/groups/go.iraq/) - Iraq
* [Indonesia](https://golang-id.org) - Indonesia
  * [GoJakarta](https://gophers.id/GoJakarta) - Jakarta, Indonesia.
  * [Golang Surabaya](https://github.com/golangSurabaya) - Surabaya, Indonesia.
- Persia
  * [goiran slack Iran](https://join.slack.com/t/goiran/shared_invite/enQtMjczOTMwNzY3NjM2LWQyNzMwM2QwOTBjMTBmZjZiNmRhODlmNTg2OGRiOTE0ZGQ1MmUyYzU1ZDY5MTBkOGY4NTU2NmUzYWNiZWVlYzY) - Iran
  * [devheroes Iran](https://devheroes.club/c/go) - Iran
  * [gommunity Iran](https://t.me/joinchat/AAAAAEC2xDS9C116WfBSrA) - Iran
  * [golang Iran](https://t.me/joinchat/C-p1A0LvO9AIeQ1yi75mxA) - Esfahan-Iran
  * [Iran Go Users Group](https://irangug.org) - Iran
- Other
  * [Golang China](http://groups.google.com/group/golang-china) - China.
  * [Golang JP](https://plus.google.com/communities/107075098212007233819) - Japan.
  * [Golang Korea](https://www.facebook.com/groups/golangko/about/) - Korea.
  * [Golang Vietnam](https://www.facebook.com/golang.org.vn) - [github](https://github.com/golang-vietnam) -  Vietnam
  * [Golang Taiwan](http://golang.tw) - Taiwan.
  * [Golang Bangalore](https://www.meetup.com/Golang-Bangalore) - Bangalore, India.
  * [Golang Chennai](http://www.meetup.com/Chennai-golang-Meetup/) - Chennai, India
  * [Golang Pune](https://www.meetup.com/Golang-Pune/) - Pune, India.
  * [Golang Ahmedabad](https://www.meetup.com/Golang-Ahmedabad) - Ahmedabad, 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
  * [Golang UAE](https://plus.google.com/communities/114845275110994424259) - UAE.
  * [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
  * [Budapest Go Meetup](https://www.meetup.com/go-budapest/) - Budapest, Hungary
  * [Athens Gophers](https://www.meetup.com/Athens-Gophers/) - Athens, Greece.
  * [Golang Türkiye](https://www.facebook.com/groups/GolangTurkiye) - Istanbul, Turkey.
  * [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
  * [Golang Prague](https://www.meetup.com/Prague-Golang-Meetup/) - Prague, Czech Republic.
  * [Cambridge Gophers](http://www.meetup.com/Cambridge-Gophers/) - Cambridge, UK
  * [Suffolk Gophers](https://suffolkgophers.github.io/) - Suffolk, UK
  * [Stuttgart Gophers](https://www.meetup.com/Stuttgart-Gophers/) - Stuttgart, Germany.
  * [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-User-Group Rhein-Ruhr](https://www.meetup.com/Go-Usergroup-Rhein-Ruhr) - Rhine-Ruhr region, 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.
  * [Golang Dorset](https://www.meetup.com/Golang-Dorset/) - Bournemouth, UK.
  * [Golang Bristol++](https://www.meetup.com/golang-bristol/) - Bristol, UK.
  * [GoSheffield](https://www.meetup.com/GoSheffield/) - Sheffield, 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.
  * [Golang Казань](https://www.meetup.com/Golang-Kazan/) - Kazan, 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 Lille](http://www.meetup.com/Golang-Lille) - Lille, France.
  * [Golang Marseille](https://www.meetup.com/Golang-Marseille/) - Marseille, 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.
  * [Go-Uppsala](http://www.meetup.com/Go-Uppsala/) - Uppsala, Sweden.
  * [Go-Malmö](http://www.meetup.com/Go-Malmo/) - Malmö, 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
  * [Meetup Edinburgh](https://www.meetup.com/Edinburgh-Golang-meetup/) - Edinburgh, UK
  * [Münster Gophers](https://www.meetup.com/de-DE/Munster-Gophers/) - Münster, Germany
  * [Vienna.go - Vienna Go User Group](https://www.meetup.com/Vienna-go-Vienna-Go-User-Group/events/242583645/) - Vienna, Austria
  * [Golang Bulgaria](https://www.meetup.com/Golang-Bulgaria/) - Sofia, Bulgaria 🇧🇬 
  * [Go Oslo User Group](https://www.meetup.com/Go-Oslo-User-Group/) - Oslo, Norway
  * [Gophers Linz](https://www.meetup.com/Gophers-Linz/) - Linz, Austria

# 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
  * [Golang Winnipeg](https://www.meetup.com/Golang-Wpg-Meetup/) - Winnipeg MB, Canada

## 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

  * [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.
  * [Westside GoLang Meetup](https://www.meetup.com/Westside-GoLang-Meetup/) - 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.
  * [Boulder Gophers](https://www.meetup.com/Boulder-Gophers/) - Boulder CO, USA.
  * [Denver Go Language User Group](http://www.meetup.com/Denver-Go-Language-User-Group/) - Denver CO, USA.
  * [DTC Go Meetup](https://www.meetup.com/Denver-Go-Programming-Language-Meetup/) - Denver Tech Center CO, USA.
  * [Go-Miami](http://www.meetup.com/Go-Miami/) - Miami FL, USA.
  * [Orlando Go Users](https://www.meetup.com/OrlanGo/) - Orlando 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.
  * [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.
  * [Buffalo GoLang Meetup Group](https://www.meetup.com/Buffalo-GoLang-Meetup-Group/) - Buffalo NY, USA.
  * [New York Go Language Meetup](http://www.meetup.com/golangny/) - New York NY, USA.
  * [Bowery Golang Meetup](https://www.meetup.com/Bowery-Go/) - New York NY, USA.
  * [GoLangPhilly](http://www.meetup.com/GoLangPhilly/) - Philadelphia PA, USA.
  * [GoLangPhoenix](http://www.meetup.com/Golang-Phoenix/) - Phoenix AZ, USA.
  * [GoLangCleveland](https://www.golangcleveland.org/) - Cleveland OH, USA.
  * [Cincinnati Golang Meetup](https://www.meetup.com/Cincinnati-Golang-Meetup/) - Cincinnati, OH, 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://utahgolang.com/) - 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
  * [Omaha Gophers](https://www.meetup.com/omaha-gophers/) - Omaha NE, USA
  * [St Louis Go Meetup](https://www.meetup.com/StL-Go/) - 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.
  * [Golang Wellington](https://www.meetup.com/wellington-golang/) - Wellington, 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.
  * [Honolulu Go Users](http://hnlgo.org/) - Oahu, Hawaii

# South America
  * [Golang Brasil](https://www.meetup.com/pt-BR/golangbr/) - Brazil.
  * [Golang Rio de Janeiro](https://www.meetup.com/pt-BR/Gophers-Rio) - Rio de Janeiro, 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ú