Announcing The New Go Store
18 Jul 2019

Cassandra Salisbury

* Introduction

We are excited to launch the new [[https://go-store.io][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 [[https://go-store.io][*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 [[https://go-store.io][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!

If you find any issues, please [[https://github.com/golang/go/issues/new?title=GoStore:][submit an issue prefixed with “GoStore”]] and we will aim to remedy it as soon as we can.

Happy shopping!

