Gopher Gold #11 - Wed Sep 16 2020
Tags: go, newsletter
Published: 2020-09-16 00:00:00

---
title: Gopher Gold #11 - Wed Sep 16 2020
description: Weekly nuggets of Golang Gold
date: "2020-09-16"
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/qs7o2ag8vzo0uborgc7v.png
---

Go Weekly, a weekly curation for all things Go in one centralised place. Here is your curation for Wed Sep 16 2020.

## Hot Go Articles This Week On Reddit

- [Go Modules have a v2+ Problem](https://www.reddit.com/r/golang/comments/ipwea6/go_modules_have_a_v2_problem/) (6 days ago)

## Go Articles This Week On Dev.To

- **Brian Douglas**: [My FIRST open source contribution to the GitHub CLI](https://dev.to/opensauced/my-first-open-source-contribution-to-the-github-cli-5g27)
- **Jeremy Morgan**: [Optimizing String Comparisons in Go](https://dev.to/pluralsight/optimizing-string-comparisons-in-go-4e0c)
- **Ega Prasetya**: [Echo Go - Template Rendering](https://dev.to/ga/echo-go-template-rendering-509l)
- **official_dulin**: [#helpIs there any place I can let others review my Go code?](https://dev.to/mrdulin/is-there-any-place-i-can-let-others-review-my-go-code-23k4)
- **Max Schmitt**: [Automate Chromium, Firefox, and WebKit with Go (preview)](https://dev.to/mxschmitt/automate-chromium-firefox-and-webkit-with-go-preview-j9)
- **Frank Boucher ☁**: [Let's get Started with Containers on Azure](https://dev.to/allaroundazure/let-s-get-started-with-containers-on-azure-26mh)
- **Ega Prasetya**: [Echo Go - Parsing HTTP Request Payload](https://dev.to/ga/echo-go-parsing-http-request-payload-260g)
- **Ega Prasetya**: [Echo Go - Installation](https://dev.to/ga/echo-go-installation-12d4)
- **Swastik Baranwal**: [Uses and difference b/w switch and match](https://dev.to/delta456/use-of-switch-and-match-3h7g)
- **Honeybadger Staff**: [A Gentle Introduction to Web Services With Go](https://dev.to/honeybadger_staff/a-gentle-introduction-to-web-services-with-go-15ma)
- **DadosJusBR**: [DadosJusBr: Go ou Python a serviço da cidadania.](https://dev.to/dadosjusbr/dadosjusbr-go-ou-python-a-servico-da-cidadania-hpn)
- **Mike Levan**: [My Journey To Golang](https://dev.to/thenjdevopsguy/my-journey-to-golang-cp3)
- **sonu sharma**: [Golang Q & A Doc.](https://dev.to/sonu_sharma/golang-q-a-doc-42c8)
- **Ega Prasetya**: [Golang Web - REST API With Mux](https://dev.to/ga/golang-web-rest-api-with-mux-15am)
- **Gabriel Cruz (he/him)**: [#showdevCreating a minute with 100 "seconds"](https://dev.to/gmelodie/creating-a-minute-with-100-seconds-4pd0)
- **Joeberth Souza**: [DadosJusBr: Go ou Python a serviço da cidadania.](https://dev.to/joeberth/dadosjusbr-go-ou-python-a-servico-da-cidadania-2ofl)
- **Abhishek Gupta**: [Build fault tolerant applications with Cassandra API for Azure Cosmos DB](https://dev.to/azure/build-fault-tolerant-applications-with-cassandra-api-for-azure-cosmos-db-2m70)
- **Yurii Zinets**: [GoPlaces: Go Algolia Places API Wrapper](https://dev.to/yuriizinets/goplaces-go-algolia-places-api-wrapper-3lk6)
- **Tomasz Giba**: [How get int from base64 in Go](https://dev.to/tomaszgiba/how-get-int-from-base64-in-go-f7d)
- **Jędrzej Szczepaniak**: [DynamoDB with Go #5 - Legacy IDs mapping](https://dev.to/jbszczepaniak/dynamodb-with-go-5-legacy-ids-mapping-3ho5)
- **Pacharapol Withayasakpunt**: [Maximize (not fullscreen) your cross-platform desktop application](https://dev.to/patarapolw/maximize-not-fullscreen-your-desktop-application-4652)
- **Emmanuel Galindo**: [Luhn’s algorithm - verify credit cards - GO](https://dev.to/georgexx009/luhn-s-algorithm-verify-credit-cards-go-13h2)
- **Mike Levan**: [Helpdesk to Developer - Writing Quality Code](https://dev.to/thenjdevopsguy/helpdesk-to-developer-writing-quality-code-42n2)

## Trending Go Repositories This Week On Github

- **schollz/croc** (Go): [Easily and securely send things from one computer to another 🐊 📦](https://github.com/schollz/croc)
- **cli/cli** (Go): [GitHub’s official command line tool](https://github.com/cli/cli)
- **dapr/dapr** (Go): [Dapr is a portable, event-driven, runtime for building distributed applications across cloud and edge.](https://github.com/dapr/dapr)
- **wagoodman/dive** (Go): [A tool for exploring each layer in a docker image](https://github.com/wagoodman/dive)
- **meloalright/guora** (Go): [🖖🏻 A self-hosted Quora like web application written in Go 基于 Golang 类似知乎的私有部署问答应用 包含问答、评论、点赞、管理后台等功能](https://github.com/meloalright/guora)
- **halfrost/LeetCode-Go** (Go): [✅ Solutions to LeetCode by Go, 100% test coverage, runtime beats 100% / LeetCode 题解](https://github.com/halfrost/LeetCode-Go)
- **google/google-ctf** (Go): [Google CTF](https://github.com/google/google-ctf)
- **infracost/infracost** (Go): [Cloud cost estimates for Terraform in your CLI and pull requests 💰📉](https://github.com/infracost/infracost)
- **dgraph-io/dgraph** (Go): [Native GraphQL Database with graph backend](https://github.com/dgraph-io/dgraph)
- **golang/go** (Go): [The Go programming language](https://github.com/golang/go)
- **quii/learn-go-with-tests** (Go): [Learn Go with test-driven development](https://github.com/quii/learn-go-with-tests)
- **cockroachdb/cockroach** (Go): [CockroachDB - the open source, cloud-native distributed SQL database.](https://github.com/cockroachdb/cockroach)
- **projectdiscovery/nuclei** (Go): [Nuclei is a fast tool for configurable targeted scanning based on templates offering massive extensibility and ease of use.](https://github.com/projectdiscovery/nuclei)
- **gruntwork-io/terragrunt** (Go): [Terragrunt is a thin wrapper for Terraform that provides extra tools for working with multiple Terraform modules.](https://github.com/gruntwork-io/terragrunt)
- **syncthing/syncthing** (Go): [Open Source Continuous File Synchronization](https://github.com/syncthing/syncthing)
- **derailed/k9s** (Go): [🐶 Kubernetes CLI To Manage Your Clusters In Style!](https://github.com/derailed/k9s)
- **golang/groupcache** (Go): [groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases.](https://github.com/golang/groupcache)
- **go-kit/kit** (Go): [A standard library for microservices.](https://github.com/go-kit/kit)
- **gofiber/fiber** (Go): [⚡️ Fiber is an Express inspired web framework written in Go with ☕️](https://github.com/gofiber/fiber)
- **inconshreveable/ngrok** (Go): [Introspected tunnels to localhost](https://github.com/inconshreveable/ngrok)
- **jaegertracing/jaeger** (Go): [CNCF Jaeger, a Distributed Tracing Platform](https://github.com/jaegertracing/jaeger)
- **rclone/rclone** (Go): ["rsync for cloud storage" - Google Drive, Amazon Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Cloudfiles, Google Cloud Storage, Yandex Files](https://github.com/rclone/rclone)
- **shirou/gopsutil** (Go): [psutil for golang](https://github.com/shirou/gopsutil)
- **gin-gonic/gin** (Go): [Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.](https://github.com/gin-gonic/gin)
- **hashicorp/nomad** (Go): [Nomad is an easy-to-use, flexible, and performant workload orchestrator that can deploy a mix of microservice, batch, containerized, and non-containerized applications. Nomad is easy to operate and scale and has native Consul and Vault integrations.](https://github.com/hashicorp/nomad)

## Topics from the Weekly Go Forum

- [Do you export a function just so that you can unit test it?](https://forum.golangbridge.org/t/do-you-export-a-function-just-so-that-you-can-unit-test-it/20538)
- [Sum from 20 to 100. For loop (4860)](https://forum.golangbridge.org/t/sum-from-20-to-100-for-loop-4860/20568)
- [Can we extract the struct from interface and put it in another interface](https://forum.golangbridge.org/t/can-we-extract-the-struct-from-interface-and-put-it-in-another-interface/20525)
- [C# syntax (Interpolated Strings?)](https://forum.golangbridge.org/t/c-syntax-interpolated-strings/20544)
- [Godoc-static v0.1.8 released with improved module support](https://forum.golangbridge.org/t/godoc-static-v0-1-8-released-with-improved-module-support/20547)
- [How to detect keyboard key depression](https://forum.golangbridge.org/t/how-to-detect-keyboard-key-depression/20572)
- [Is there anything like Python's rsplit() in Go?](https://forum.golangbridge.org/t/is-there-anything-like-pythons-rsplit-in-go/20521)
- [How often do you wrap your errors?](https://forum.golangbridge.org/t/how-often-do-you-wrap-your-errors/20537)
- [The religion of idiomatic code - how to deal with fanatics?](https://forum.golangbridge.org/t/the-religion-of-idiomatic-code-how-to-deal-with-fanatics/20571)
- [If or switch( Which one should I use ...)](https://forum.golangbridge.org/t/if-or-switch-which-one-should-i-use/20553)
- [Interface + Client struct + NewClient() - desing pattern](https://forum.golangbridge.org/t/interface-client-struct-newclient-desing-pattern/20539)
- [How to calculate the exact age from given date until today?](https://forum.golangbridge.org/t/how-to-calculate-the-exact-age-from-given-date-until-today/20530)
- [How would you train for the senior Go developer technical interviews?](https://forum.golangbridge.org/t/how-would-you-train-for-the-senior-go-developer-technical-interviews/20580)
- [Image transformation example](https://forum.golangbridge.org/t/image-transformation-example/20557)
- [How to get a value from the interface?](https://forum.golangbridge.org/t/how-to-get-a-value-from-the-interface/20589)
- [Unreachable code after return processing( go vet command)](https://forum.golangbridge.org/t/unreachable-code-after-return-processing-go-vet-command/20586)
- [Unit test for String() method of a struct?](https://forum.golangbridge.org/t/unit-test-for-string-method-of-a-struct/20523)
- [Understanding parsed Go types](https://forum.golangbridge.org/t/understanding-parsed-go-types/20561)
- [Does go implements its own ssl library?](https://forum.golangbridge.org/t/does-go-implements-its-own-ssl-library/20519)
- [Use range instead of for - because it is more idiomatic?](https://forum.golangbridge.org/t/use-range-instead-of-for-because-it-is-more-idiomatic/20517)
- [How to debug with stripped binary?](https://forum.golangbridge.org/t/how-to-debug-with-stripped-binary/20548)
- [PDF Conversion Help](https://forum.golangbridge.org/t/pdf-conversion-help/20535)
- [Dereference a pointer to slice](https://forum.golangbridge.org/t/dereference-a-pointer-to-slice/20541)
- [Pass pointer to variable to goroutine leads to nil values](https://forum.golangbridge.org/t/pass-pointer-to-variable-to-goroutine-leads-to-nil-values/20590)
- [The unisex bathroom with unlimited capacity - message passing](https://forum.golangbridge.org/t/the-unisex-bathroom-with-unlimited-capacity-message-passing/20532)
- [Code coverage for groovy tests](https://forum.golangbridge.org/t/code-coverage-for-groovy-tests/20585)
- [GoLand IDEA unable to index kubernetes codebase](https://forum.golangbridge.org/t/goland-idea-unable-to-index-kubernetes-codebase/20550)
- [How to mock http.Client.Do by setting the cookie in the response](https://forum.golangbridge.org/t/how-to-mock-http-client-do-by-setting-the-cookie-in-the-response/20543)
- [How to recognize special characters with Gocc?](https://forum.golangbridge.org/t/how-to-recognize-special-characters-with-gocc/20533)
- [Go Mysql insert: "Incorrect string value: '\xC3'](https://forum.golangbridge.org/t/go-mysql-insert-incorrect-string-value-xc3/20528)
- [Problem dowloading Go module with upper case project name](https://forum.golangbridge.org/t/problem-dowloading-go-module-with-upper-case-project-name/20587)
- [How can I decode a specific child nested in an xml file?](https://forum.golangbridge.org/t/how-can-i-decode-a-specific-child-nested-in-an-xml-file/20592)

_Gopher Gold is a weekly roundup for all things Go! If you have more suggestions for resources, submit them below! Follow me on Twitter for more projects [@dennisokeeffe92](https://twitter.com/dennisokeeffe92)._

_Image credit: [Katerina Kerdi](https://unsplash.com/@katekerdi)_