Category Archives: golang

Short decimal ASCII characters table

Seven bit characters ASCII table is with us long time. Once a while we need to know value of ASCII character, mostly out of the alphabet characters. For example on Windows it’s possible to type any character by pressing <ALT> … Continue reading

Posted in golang, workday | Tagged , | Leave a comment

go: Marshal and Unmarshal json

Here is an example playing with json, see https://play.golang.org/p/fHA1im6vPIG

Posted in golang, workday | Leave a comment

go: Legacy character encoding conversion to UTF-8

Go language is using UTF-8 encoding, but sometimes text files are encoded in some other encoding, like Windows-1250. Here is example, how it could be done https://play.golang.org/p/K3JAeM4nCVD Decoding table used in this program was developed from page CP1250.TXT at ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/ … Continue reading

Posted in golang, workday | Leave a comment

go: Enumeration

There is no enumeration in Golang, but here is an example, which could be good start for any project, which needs to utilize enumeration. See https://play.golang.org/p/pD29UI37iq1

Posted in golang, workday | Leave a comment

go: Three dots/ellipses notation and variadic function; arrays vs slices

Go program example below explores arrays, slices and three dots notation. Arrays and slices are similar, arrays have static usage, slices are dynamic. Arrays are type values, fixed length sentences of items of the same type. Slices are reference types. … Continue reading

Posted in golang, workday | Leave a comment

go: Concurrent records processing with channels

Let’s say we have list of records, which can be processed concurrently. Processing time can be different. In example below processing time depends on two parameters. There are used non buffered input and output channels.  There are these steps: Submitting … Continue reading

Posted in golang, workday | Leave a comment

go: base64 decoding

Here is an example how to decode base64 encoded strings https://play.golang.org/p/iojjUKwvZvn It uses encoding packages encoding/base64 and encoding/hex . package main import ( “fmt” “encoding/base64” “encoding/hex” ) func isAscii7printable(bytes []byte)(bool){ for _, b := range bytes { if b < … Continue reading

Posted in golang, workday | Leave a comment

go: characters frequency

Let’s explore characters frequency in the go string. Characters in go are in the format int32 – rune, and they can have any unicode value. Here is a simple go program https://play.golang.org/p/fbg7VXetxCg . package main import ( “fmt” “sort” ) … Continue reading

Posted in golang, workday | Leave a comment

go: duration loop

Here is a simple duration loop go program https://play.golang.org/p/ly9U9EUr2of package main import ( “fmt” “time” ) func main() { duration := time.Second *10 fmt.Println(“Hello, duration loop “+duration.String()+” long”) t1 := time.Now() for t2:= time.Now(); t2.Sub(t1) < duration; t2 = time.Now(){ … Continue reading

Posted in golang, workday | Leave a comment

go: proverbs

Rob Pike at Gopherfest on November 18, 2015 mentioned several thoughtful go proverbs, as you may see on this video. Here they are: Don’t communicate by sharing memory, share memory by communicating. Concurrency is not parallelism. Channels orchestrate; mutexes serialize. … Continue reading

Posted in golang, workday | Leave a comment