Parsing strings with Go

Parsing strings would arguably be one of the more basic operations that one can do in any language. Sometimes, this may mean comma separated values from an user input on a web page, it may mean parsing application arguments from os.Args, or parse some line based input like lines from an IRC chat, Slack, Discord or some other chat system for a bot.

Read more

The thing about dates

Last week I started to challenge myself with #100DaysOfCode. During the week I wrote a Twitch Bot that connects to a list of twitch channels and monitors channel followers and provides some statistics like time watched. Common enough, the follower API provides the time when the user followed the channel and in order to store it to the database with Go, I wanted first to convert it to a time.Time.

Read more

The thing about slices

Slices are tricky. If you have been using Go for a while now, you may be aware that a slice is basically a triplet consisting of a:

  1. pointer to an array of values,
  2. the capacity of the array,
  3. the length of the array

This makes working with slices also a bit different than working with structs.

Read more

Benchmarking Go programs, part 2

There were a couple of things that didn’t make sense to me initially in terms of optimisation of Go code. I’m going to try to list some of them that I found more interesting and you should be aware of this if you’re really working hard to optimize your Go program for performance or memory usage.

Read more