Go Community Linklog

Made a library? Written a blog post? Found a useful tutorial? Share it with the Go community here or just enjoy what everyone else has found!

Abstractions, The Costs

The drawbacks of unthoughtful usage of abstractions (for the sake of using abstractions, blindly) and it's costs posed upon developers and teams and how Go philosophy helps with avoiding code bloat and mind bloat: Abstractions, The Costs.

 Kaveh Shahbazian

Run Functions on App Exit

This package allows to run functions on app exit - like an app-level defer statement. Functions are placed inside a priority queue and are called based on their priority (not the order they've got added): onexit.

 Kaveh Shahbazian

JSON API's are just web applications @joncalhoun

A common misconception, especially amongst new developers, is that learning to create an API is vastly different from learning to build an a web application that renders server side HTML. This notion is further compounded by the fact that there are many frameworks and libraries designed specifically for building APIs; Ruby has Rails::API, Python has the Django REST Framework, and there are countless others out there.

Blog Post

 Brian Scott

Building a mobile frontend for a Go application using Flutter. #Flutter #MobileDev

In this blog post, I will show how an existing Go application (as we'll see, with some adaptations) can be used from Flutter, so you can write the GUI side of the application in Dart (instead of one for Android, one for iOS), and the "back-end" mostly in Go (rather than duplicate the logic in Java/Kotlin and Objective-C/Swift), with only a thin glue-code layer written in the platform's native language (in our case, Kotlin on Android, Swift on iOS).

Read More

 Brian Scott

Golangflow mobile app now available

Get the latest news, updates on the Go Programming language. Google Play only as this time

 Brian Scott

Getting Started with GraphQL using Golang

We’re going to see how to implement a web application using the Go programming language, but uses GraphQL when working with the data.

Read More

 Brian Scott

Benefits of Using Go/Golang

Go has entered into this world of enterprise application development with a mantra:Do more with less. Handle Heavy Load Golang has eliminated interpreter as the programs are converted directly into machine code. The Go compiler is used to convert code into executable files. This compilation performs many optimizations on the machine code to make it run as fast as possible. The advanced Golang compiler offers an efficient way to check errors in the code and make deployment easy.

Garbage Collection Garbage collection, or say automatic memory management of Golang is a powerful feature. Go excels in providing control over memory allocation, resulting reduced latency in the latest versions of garbage collector.

Scalability Go is designed with scalability by default. As an application grows, it needs to manage multiple tasks simultaneously, like delivering HTML pages to different web browsers. Go comes with many built-in features such as Goroutines(functions) and Channels to handle simultaneous tasks within one application.

Cross Compiling Go allows you to cross-compile your application and run it on a different machine. The Go compiler lets you generate executable binaries for multiple operating systems with easy commands. You can cross-compile original source code to execute on multiple machines rather than installing Golang on foreign machines.

Static Typing Golang compiler ensures that the code gets compiled correctly and it also takes care of compatibility and other type conversions. This can help in avoiding problems that developers face in the dynamic-typed language, wherein they discover bugs only after executing the code.

Testing Support Golang has brought Unit Testing in the language. Now developers can write their Unit tests parallel with the code through a simple mechanism. It also provides support to understand code coverage by some tests, benchmark tests, and write example code to generate the code documentation.

Simplicity Go is a simple and easy to understand language. Its entire specification is just a few pages long. It strives to be simple to read and write. Go prefers Composition over Inheritance. Also, its Type System is well-designed. Read more:hire golang developers


Onelog is a dead simple but very efficient JSON logger

Onelog is a dead simple but very efficient JSON logger. It is one of the fastest JSON logger out there and the fastest when logging extra fields. Also, it is one of the logger with the lowest allocation.

 Brian Scott

Partitioned signup example based on Kafka and PostgreSQL

This project demonstrates a partitioned signup flow: users sign up at Account service which requires a username. There are so many people willing to register, that a single PostgreSQL database can't hold all account records, but three servers are enough for this hypothetical service load. Therefore we should split (partition) user accounts on three databases and make sure a username is unique across all of them.

 Marsel Mavletkulov

Parsing large XML file in streaming mode in Go #xml #streaming #drugbank

A blog post I wrote about how I learned how awesome Go is for processing large XML files in streaming mode, which I had to do for the DrugBank dataset of approved drugs.


 Samuel Lampa

Deep Learning with go

GoLang UK Conference talk on how to build ‘deep learning’ models with Go to solve complex real-world challenges.


 David Dymko