Иногда, чем проверять символ на вхождение в множество других символов посредством свитча,
switch char {
case 'a', 'b', 'c': ...
}
дешевле сделать лукап по массиву. То есть, эксплуатируя особенность ascii-кодировки, в которой каждый символ закодирован строго одним байтом, мы можем просто завести
[256]bool. Константа 256 - максимальное значение uint8 (алиасом на который byte, собственно, и является). В таком случае, заполняя массив следующим образом, мы можем получить значение, лежащее по индексу, равному значению символа. То есть, if table['a'] { ... }
Преимущество перед свитчом это, правда, начинает иметь только начиная с определенного момента. Авторы json-iter, например, решили, что свитч с числами на 16 кейсов уже будет дороже, чем лукап по массиву.А, и да. Это вполне себе можно считать идеальной хэш-мапой:)