Por que fmt.Println(s[0]) imprime 108 para s := "labex", enquanto fmt.Printf("%c", s[0]) imprime l?
fmt.Println(s[0])
108
s := "labex"
fmt.Printf("%c", s[0])
l
%c sempre imprime l, independentemente do valor fornecido.
%c
Println converte permanentemente o primeiro caractere da string em um inteiro.
Println
O índice zero significa o 108.º caractere porque Go usa índices começando em um.
A indexação de strings retorna o valor do byte codificado, e %c exibe esse código numérico como um caractere.