Важно: данный трюк маловероятно сработает с utf8
Ну а если у нас есть массив байт в кодировке ASCII, то для перевода всех символов в нижний регистр можно просто применить к каждому символу операцию bitwise OR со значением 0x20. Пример:
text := []byte("Hello, World!")
for i, char := range text {
text[i] = char | 0x20
}
...после чего, переменная text будет уже в себе хранить значение hello, world!. Сравнение с bytes.ToLower() см. постом ниже