5.5. Golang

5.5.1. Golang Runtime

Threads in Go are called Goroutines or G, and kernel threads are called M. These Gs are scheduled onto M, the so-called G:M threading model, or more commonly the M:N threading model, the userspace threading or the green threading model.

5.5.2. String Handling

  • Go source code is always UTF-8

  • A sequence of bytes representing a Unicode code point is called rune

  • Go does not guarantee that characters in strings are normalized

  • Strings can contain arbitrary bytes

  • Strings always contain valid UTF-8 sequences when they do not contain byte-level escapes