Announcing The New Go Store
18 Jul 2019

Cassandra Salisbury

* Introduction

*October*1,*2019,*Update:* _The_Go_Store_is_currently_offline._
_We_are_sorry_for_any_inconvenience._
_We_will_update_this_post_with_any_status_changes._

We are excited to launch the new Go official swag and merch store, shipping worldwide.
We are even more excited to announce that *100%*of*the*proceeds* from the Go store go directly to GoBridge.
[[https://github.com/gobridge/about-us][GoBridge]] is a non-profit organization focused on building bridges to educate underrepresented groups by teaching technical skills and fostering diversity in the Go community.

.image store/gophers.jpg

At the *Go*store* you’ll find our beloved gopher plushies and vinyls as well as new merchandise.
Visit the store for 20% off with code *Gopher20* through Sunday, July 21st at 11:59 PM PST.

We plan on adding stock to current items and bringing on new ones to the store.
If we are out of stock when you go to place an order, check back again soon.
Follow the [[https://twitter.com/golang][Twitter account]] for updates, we plan on adding new goodies for all our Go fans out there, so keep an eye out!

Happy shopping!

