Gopher Gold #9 - Wed Sep 02 2020
Tags: go, newsletter
Published: 2020-09-02 00:00:00

---
title: Gopher Gold #9 - Wed Sep 02 2020
description: Weekly nuggets of Golang Gold
date: "2020-09-02"
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 02 2020.

## Hot Go Articles This Week On Reddit

- [Generics examples by Go Team 🔥️](https://www.reddit.com/r/golang/comments/iiuhc1/generics_examples_by_go_team/) (3 days ago)
- [Just released go-reddit v1.0.0, a Go library for accessing the Reddit API](https://www.reddit.com/r/golang/comments/igwj4l/just_released_goreddit_v100_a_go_library_for/) (6 days ago)
- [Using Go at Google](https://www.reddit.com/r/golang/comments/ihppee/using_go_at_google/) (5 days ago)
- [GORM V2 officially released!](https://www.reddit.com/r/golang/comments/ijlhiw/gorm_v2_officially_released/) (2 days ago)

## Go Articles This Week On Dev.To

- **TECH SCHOOL**: [DB transaction lock & How to handle deadlock](https://dev.to/techschoolguru/db-transaction-lock-how-to-handle-deadlock-22o8)
- **Anisha Mohanty**: [#discussGolang Learning Resources](https://dev.to/anisha/golang-learning-resources-4b1l)
- **stackdumper**: [Setting up CI for microservices in monorepo using GitHub Actions](https://dev.to/stackdumper/setting-up-ci-for-microservices-in-monorepo-using-github-actions-5do2)
- **Roelof Jan Elsinga**: [GraphQL: Centralize existing REST API endpoints for easier development](https://dev.to/roelofjanelsinga/graphql-centralize-existing-rest-api-endpoints-for-easier-development-1k9k)
- **Gourav Kumar**: [🎉Golang + Lambda: Masterclass🎉](https://dev.to/gkumarau/golang-lambda-masterclass-29bk)
- **Steven Victor**: [Using GraphQL in Golang](https://dev.to/stevensunflash/using-graphql-in-golang-3gg0)
- **Pacharapol Withayasakpunt**: [#helpPractical web server in vanilla Go with clean-up function (I don't really know what I am doing)](https://dev.to/patarapolw/practical-web-server-in-vanilla-go-with-clean-up-function-i-don-t-really-know-what-i-am-doing-1nh5)
- **Donald Feury**: [Utilizing Redis with Golang (Go)](https://dev.to/dak425/utilizing-redis-with-golang-go-5a1h)
- **klyse**: [#watercoolerMy G815 Keyboard is on Steroids (Shortcut helper)](https://dev.to/klyse/my-g815-keyboard-is-on-steroids-31fl)
- **Prasanna Kumar**: [#showdevnetselect: A CLI tool to find the fastest host based on the lowest ICMP latency.](https://dev.to/pgollangi/netselect-a-cli-tool-to-find-the-fastest-host-based-on-the-lowest-icmp-latency-gep)
- **Muhammad Syuqri**: [#showdevsaferm - A tool to safely remove files on CLI](https://dev.to/dansyuqri/saferm-a-tool-to-safely-remove-files-on-cli-2nhl)
- **Tunde Oladipupo**: [Randomness in Go](https://dev.to/simplytunde/randomness-in-go-1ang)
- **bitsmonkey**: [web server with plain go](https://dev.to/bitsmonkey/web-server-with-plain-go-2cb7)
- **Jędrzej Szczepaniak**: [DynamoDB with Go #3 - Composite Primary Keys](https://dev.to/jbszczepaniak/dynamodb-with-go-3-composite-primary-keys-egc)
- **Lane Wagner**: [“Interview Prep – Golang” Course Released](https://dev.to/wagslane/interview-prep-golang-course-released-bi0)
- **Pacharapol Withayasakpunt**: [#showdevWebview I wanted to see, and some requested features](https://dev.to/patarapolw/webview-i-wanted-to-see-and-some-requested-features-2lai)
- **Elliott M.**: [How a Data Warehousing Toolkit Works](https://dev.to/llttm/how-a-data-warehousing-toolkit-works-4343)
- **Pacharapol Withayasakpunt**: [#discussGolang server - standard lib or some other libraries?](https://dev.to/patarapolw/golang-server-standard-lib-or-some-other-libraries-5260)
- **Elliott M.**: [Designing and Developing a Data Warehousing Toolkit](https://dev.to/llttm/designing-and-developing-a-data-warehousing-toolkit-1gg0)
- **Hermes Frangoudis**: [How to Build a Token Server for Agora Applications using GoLang](https://dev.to/hermes_f/how-to-build-a-token-server-for-agora-applications-using-golang-4db)
- **vasubabu**: [Start Goland from terminal](https://dev.to/jinagamvasubabu/start-goland-from-terminal-30p9)
- **Jinzhu**: [The fantastic ORM library for Golang - GORM V2 released!](https://dev.to/jinzhu/the-fantastic-orm-library-for-golang-gorm-v2-released-59le)
- **Gabriel Cruz (he/him)**: [#showdevxcreep: copying files to clipboard as you expected](https://dev.to/gmelodie/xcreep-copying-files-to-clipboard-as-you-expected-4i7a)
- **TJ Holowaychuk**: [Apex Logs public beta with discount for Dev users](https://dev.to/tjholowaychuk/apex-logs-public-beta-with-discount-for-dev-users-4o2j)
- **itshifting.com**: [Top 10 trending programming languages 2020](https://dev.to/itshifting/top-10-trending-programming-languages-2020-2db5)
- **mrdeluofficial**: [How to Add a New Folder in Gmail](https://dev.to/mrdeluofficial/how-to-add-a-new-folder-in-gmail-3f7m)
- **mrdeluofficial**: [How to post new Job on Facebook Timeline](https://dev.to/mrdeluofficial/how-to-post-new-job-on-facebook-timeline-hc1)

## Trending Go Repositories This Week On Github

- **cloudreve/Cloudreve** (Go): [🌩支持多家云存储的云盘系统 (A project helps you build your own cloud in minutes)](https://github.com/cloudreve/Cloudreve)
- **betty200744/ultimate-go** (Go): [This repo contains my notes on working with Go and computer systems.](https://github.com/betty200744/ultimate-go)
- **aws/aws-controllers-k8s** (Go): [AWS Controllers for Kubernetes (ACK) is a project enabling you to manage AWS services from Kubernetes](https://github.com/aws/aws-controllers-k8s)
- **tal-tech/go-zero** (Go): [go-zero是一个集成了各种工程实践的web和rpc框架。通过弹性设计保障了大并发服务端的稳定性，经受了充分的实战检验。包含极简的API定义和生成工具，可以一键生成Go, iOS, Android, Dart, TypeScript, JavaScript代码，并可直接运行。](https://github.com/tal-tech/go-zero)
- **jaegertracing/jaeger** (Go): [CNCF Jaeger, a Distributed Tracing Platform](https://github.com/jaegertracing/jaeger)
- **hoanhan101/ultimate-go** (Go): [The Ultimate Go Study Guide](https://github.com/hoanhan101/ultimate-go)
- **halfrost/LeetCode-Go** (Go): [✅ Solutions to LeetCode by Go, 100% test coverage, runtime beats 100% / LeetCode 题解](https://github.com/halfrost/LeetCode-Go)
- **go-gorm/gorm** (Go): [The fantastic ORM library for Golang, aims to be developer friendly](https://github.com/go-gorm/gorm)
- **ardanlabs/gotraining** (Go): [Go Training Class Material :](https://github.com/ardanlabs/gotraining)
- **kgretzky/evilginx2** (Go): [Standalone man-in-the-middle attack framework used for phishing login credentials along with session cookies, allowing for the bypass of 2-factor authentication](https://github.com/kgretzky/evilginx2)
- **containous/traefik** (Go): [The Cloud Native Edge Router](https://github.com/containous/traefik)
- **roboll/helmfile** (Go): [Deploy Kubernetes Helm Charts](https://github.com/roboll/helmfile)
- **google/google-ctf** (Go): [Google CTF](https://github.com/google/google-ctf)
- **cortexlabs/cortex** (Go): [Build machine learning APIs](https://github.com/cortexlabs/cortex)
- **facebook/ent** (Go): [An entity framework for Go](https://github.com/facebook/ent)
- **kubernetes/kubernetes** (Go): [Production-Grade Container Scheduling and Management](https://github.com/kubernetes/kubernetes)
- **greyireland/algorithm-pattern** (Go): [算法模板，最科学的刷题方式，最快速的刷题路径，你值得拥有~](https://github.com/greyireland/algorithm-pattern)
- **golang/go** (Go): [The Go programming language](https://github.com/golang/go)
- **hashicorp/terraform** (Go): [Terraform enables you to safely and predictably create, change, and improve infrastructure. It is an open source tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.](https://github.com/hashicorp/terraform)
- **etcd-io/etcd** (Go): [Distributed reliable key-value store for the most critical data of a distributed system](https://github.com/etcd-io/etcd)
- **filecoin-project/lotus** (Go): [Implementation of the Filecoin protocol, written in Go](https://github.com/filecoin-project/lotus)
- **zu1k/proxypool** (Go): [自动抓取tg频道、订阅地址、公开互联网上的ss、ssr、vmess、trojan节点信息，聚合去重后提供节点列表，每15分钟更新](https://github.com/zu1k/proxypool)
- **kubernetes-sigs/kubebuilder** (Go): [Kubebuilder - SDK for building Kubernetes APIs using CRDs](https://github.com/kubernetes-sigs/kubebuilder)
- **inancgumus/learngo** (Go): [1000+ Hand-Crafted Go Examples, Exercises, and Quizzes](https://github.com/inancgumus/learngo)
- **rancher/k3s** (Go): [Lightweight Kubernetes](https://github.com/rancher/k3s)

## Topics from the Weekly Go Forum

- [How to keep a Go server running](https://forum.golangbridge.org/t/how-to-keep-a-go-server-running/20323)
- [Range over structs with multiple slices not working](https://forum.golangbridge.org/t/range-over-structs-with-multiple-slices-not-working/20403)
- [How to get last date of the given year?](https://forum.golangbridge.org/t/how-to-get-last-date-of-the-given-year/20352)
- [A self-hosted Quora like web application written in Go](https://forum.golangbridge.org/t/a-self-hosted-quora-like-web-application-written-in-go/20376)
- [VSCode 'main redeclared in this block' - any way to avoid it?](https://forum.golangbridge.org/t/vscode-main-redeclared-in-this-block-any-way-to-avoid-it/20303)
- [Why Does a programming language need to be political?](https://forum.golangbridge.org/t/why-does-a-programming-language-need-to-be-political/20339)
- [VirtualXT, IBM PC/XT emulator released](https://forum.golangbridge.org/t/virtualxt-ibm-pc-xt-emulator-released/20357)
- [gin.Context or context.Context?](https://forum.golangbridge.org/t/gin-context-or-context-context/20399)
- [Code explanation](https://forum.golangbridge.org/t/code-explanation/20334)
- [Senior FullStack Go Dev (Remote)](https://forum.golangbridge.org/t/senior-fullstack-go-dev-remote/20331)
- [How to list packages and version](https://forum.golangbridge.org/t/how-to-list-packages-and-version/20316)
- [Show keys in result of sqlx.StructScan in Go templates](https://forum.golangbridge.org/t/show-keys-in-result-of-sqlx-structscan-in-go-templates/20360)
- [Gccgo can't compile cgo](https://forum.golangbridge.org/t/gccgo-cant-compile-cgo/20313)
- [Recommendation for learning data structures](https://forum.golangbridge.org/t/recommendation-for-learning-data-structures/20337)
- [Scanner problem](https://forum.golangbridge.org/t/scanner-problem/20322)
- [Why can not you not call an Interface function on a newly created instance of a struct that implements that Interface?](https://forum.golangbridge.org/t/why-can-not-you-not-call-an-interface-function-on-a-newly-created-instance-of-a-struct-that-implements-that-interface/20338)
- [How do I init a module from vscode](https://forum.golangbridge.org/t/how-do-i-init-a-module-from-vscode/20317)
- [How do you name your interfaces?](https://forum.golangbridge.org/t/how-do-you-name-your-interfaces/20330)
- [Some query regarding my code to deal with io.Reader in golang](https://forum.golangbridge.org/t/some-query-regarding-my-code-to-deal-with-io-reader-in-golang/20361)
- [How is func printCounts running ten times ?please explain](https://forum.golangbridge.org/t/how-is-func-printcounts-running-ten-times-please-explain/20398)
- [Still trying to wrap my head around how to use and covert */&whatever?](https://forum.golangbridge.org/t/still-trying-to-wrap-my-head-around-how-to-use-and-covert-whatever/20368)
- [Help understanding this](https://forum.golangbridge.org/t/help-understanding-this/20389)
- [Exe file doesn´t open](https://forum.golangbridge.org/t/exe-file-doesn-t-open/20367)
- [Callback in Golang, I'm trying to pass a function square (callback) and then a number to a function where the function square will return square of any number but it shows an error, 'function body missing'](https://forum.golangbridge.org/t/callback-in-golang-im-trying-to-pass-a-function-square-callback-and-then-a-number-to-a-function-where-the-function-square-will-return-square-of-any-number-but-it-shows-an-error-function-body-missing/20395)
- [[idiomatic Go] tree.Find(val int) should return (Node, error) VS (Nod, bool) VS (*Node)?](https://forum.golangbridge.org/t/idiomatic-go-tree-find-val-int-should-return-node-error-vs-nod-bool-vs-node/20371)
- [Can we pause go routines until input is given by the user and then run multiple go routines concurrently?](https://forum.golangbridge.org/t/can-we-pause-go-routines-until-input-is-given-by-the-user-and-then-run-multiple-go-routines-concurrently/20390)
- [Database Insert records from struct](https://forum.golangbridge.org/t/database-insert-records-from-struct/20335)
- [How to upload file to internet](https://forum.golangbridge.org/t/how-to-upload-file-to-internet/20353)
- [Course Suggestion for Golang Rest API](https://forum.golangbridge.org/t/course-suggestion-for-golang-rest-api/20383)
- [Splitting executable file](https://forum.golangbridge.org/t/splitting-executable-file/20354)
- [How can I write a more elegant index traversal algorithm?](https://forum.golangbridge.org/t/how-can-i-write-a-more-elegant-index-traversal-algorithm/20397)
- [[Data structures] should I return the contained elements or copies ? Go forces me to return a copy!](https://forum.golangbridge.org/t/data-structures-should-i-return-the-contained-elements-or-copies-go-forces-me-to-return-a-copy/20379)
- [Server responds with Bad Request](https://forum.golangbridge.org/t/server-responds-with-bad-request/20411)
- [Why use make with maps?](https://forum.golangbridge.org/t/why-use-make-with-maps/20328)
- [Golang http2 split a request into more than one packets](https://forum.golangbridge.org/t/golang-http2-split-a-request-into-more-than-one-packets/20305)
- [Small question here](https://forum.golangbridge.org/t/small-question-here/20413)
- [How to use package from subdirectory?](https://forum.golangbridge.org/t/how-to-use-package-from-subdirectory/20374)
- [[Golang micro services] "delete notification email" functionality - in a separate micro service?](https://forum.golangbridge.org/t/golang-micro-services-delete-notification-email-functionality-in-a-separate-micro-service/20358)
- [I don't understand this. Explain?](https://forum.golangbridge.org/t/i-dont-understand-this-explain/20415)
- [Errormissing destination name hr_id in *main.Hr (sqlx)](https://forum.golangbridge.org/t/errormissing-destination-name-hr-id-in-main-hr-sqlx/20307)
- [Use SpaceVim as go IDE](https://forum.golangbridge.org/t/use-spacevim-as-go-ide/20345)
- [Is using the framework ideal solution to develop slack like project?](https://forum.golangbridge.org/t/is-using-the-framework-ideal-solution-to-develop-slack-like-project/20311)
- [How can i modify custom logger wrapper to print actual error line no](https://forum.golangbridge.org/t/how-can-i-modify-custom-logger-wrapper-to-print-actual-error-line-no/20363)
- [Return array length from receiver function](https://forum.golangbridge.org/t/return-array-length-from-receiver-function/20418)
- [gin.Negotiate Example Code](https://forum.golangbridge.org/t/gin-negotiate-example-code/20347)
- [Go-reflex v1.15.0-r0 - develop Kubernetes native applications with autorecompile and autorestart](https://forum.golangbridge.org/t/go-reflex-v1-15-0-r0-develop-kubernetes-native-applications-with-autorecompile-and-autorestart/20349)
- [Testing/fuzzing an ncurses-like (text) ui](https://forum.golangbridge.org/t/testing-fuzzing-an-ncurses-like-text-ui/20401)
- [How to use googollee/go-socket.io with gin gonic](https://forum.golangbridge.org/t/how-to-use-googollee-go-socket-io-with-gin-gonic/20417)
- [How to solve the "magic number" linter warning](https://forum.golangbridge.org/t/how-to-solve-the-magic-number-linter-warning/20421)

_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)_