Como faço para converter uma string em uma representação em minúsculas?

94

Como faço para converter uma string em uma representação em minúsculas?

Eu sinto que deve haver uma função embutida para ele, mas eu simplesmente não consigo encontrar.

Eu encontrei um ToLowerem "unicode/letter", mas ele só funciona para uma runa de cada vez.

ofertas
fonte

Respostas:

128

Sim, verifique o pacote de strings .

package main

import (
    "fmt"
    "strings"
)

func main() {
    fmt.Println(strings.ToLower("Gopher"))
}
Aura
fonte
thx muito que eu perdi completamente o pacote cordas :) e googling não trouxe qualquer coisa
Oers
3
Embora a resposta esteja correta, os links tendem a desaparecer e adicionar uma amostra de código que ilustra a solução é preferível.
Em
47

Se acontecer de você ser muito preguiçoso para clicar no pacote de strings , aqui está o código de exemplo:

strings.ToLower("Hello, WoRLd") // => "hello, world"

Se você precisar lidar com um caso especial Unicode, como azeri ou turco, pode usar ToLowerSpecial:

strings.ToLowerSpecial(unicode.TurkishCase, "Hello, WoRLd") // => "hello, world"
Ryan Endacott
fonte
alguém pode explicar o conceito de caso especial? por exemplo, quero comparar a entrada do usuário, que são strings Unicode, com um conjunto armazenado de strings Unicode e encontrar correspondências, após colocar ambos os conjuntos em minúsculas. você precisaria de tolowerspecial () é este o caso?
Lucas W
Infelizmente, não tenho certeza. Você poderia tentar fazer uma pergunta separada sobre isso e vinculá-la aqui?
Ryan Endacott,
"... Para o turco, algumas letras não são tratadas corretamente. 'İ' maiúsculo deve corresponder a 'i' minúsculo, 'I' maiúsculo deve corresponder a 'ı' minúsculo e 'i' minúsculo deve corresponder a 'İ' maiúsculo. . "de stackoverflow.com/q/50135094/3166697
Dima Kozhevin de