Uma dessas tarefas de manipulação de string é a divisão de string. Quando você tem uma string longa, desde a entrada do usuário, um arquivo, banco de dados ou variáveis de ambiente, pode ser necessário dividir em pedaços menores e executar operações em cada. Um exemplo seria dividir uma string de um arquivo separado por vírgula com as vírgulas como delimitador.
Usando este guia, você aprenderá várias divisões na linguagem de programação Go.
Cordas.Função split ()
GO é uma vasta linguagem de programação que vem com muitas ferramentas e funcionalidades fora da caixa. Usando o pacote Strings da biblioteca padrão, podemos usar a função split () para dividir uma string com base em um delimitador específico.
A sintaxe da função é como mostrado:
Func Split (str, string sep) [] stringA função leva a string e o delimitador como os argumentos. Em seguida, ele retorna uma fatia das cordas, com cada elemento da fatia sendo uma substring separada pelo delimitador.
Vamos levar o exemplo abaixo:
Pacote principalNo exemplo acima, temos uma variável path_str que mantém a saída da variável de ambiente do caminho no Linux.
Em seguida, usamos o método split () para separar cada valor do caminho com o delimitador como o cólon (:)
Depois de executar o código acima, devemos obter uma saída como mostrado:
[/usr/local/sbin/usr/local/bin/usr/sbin/usr/bin/sbin/bin/usr/games/usr/local/games]Depois de termos a fatia de strings, podemos usar a notação de índice para acessar cada elemento como mostrado:
fmt.Println (caminho [0])O acima deve retornar o elemento no índice 0, como mostrado na saída abaixo:
/usr/local/sbinDevido à sua simplicidade e diversidade, é provavelmente o que você precisará quando precisar dividir uma corda.
Cordas.Splitn ()
O método SPLITN () do pacote Strings permite separar uma string com base no delimitador especificado. No entanto, diferentemente do método Split (), o método Splitn leva três argumentos, como mostra a sintaxe abaixo:
func splitaftern (str, string set, m int) [] stringA função splitn () permite especificar a string para separar, o delimitador e o número de strings para incluir na fatia.
Se o número de substringas a serem incluídas na fatia for igual a 0, a função retorna nil.
Considere o exemplo abaixo:
Pacote principalNeste exemplo, usamos uma corda separada por vírgula. Em seguida, usamos o método splitn () para extrair a substring baseada na vírgula. Também especificamos o número de itens na fatia.
A saída resultante é como mostrado:
[Samsung Apple Microsoft, Amazon, Google]Observe que a função inclui a string após o número de itens como uma única string.
Cordas.SPLITAFTER
O pacote de cordas é muito diversificado. Também oferece a função splitafter (). Funciona de maneira semelhante ao método split (), mas mantém os delimitadores após cada substring na fatia.
Volte sua atenção para o código abaixo:
Pacote principalO exemplo acima usa o método splitafter () para dividir a string com base na vírgula como delimitador. Também preservamos o delimitador após cada elemento, como mostrado na saída abaixo:
[Samsung, Apple, Microsoft, Amazon, Google]Cordas.SplitaFtern ()
Você adivinhou. Esta função funciona de maneira semelhante às cordas.Método Splitn (). Isso permite que você especifique o número da substring para incluir na fatia.
Um exemplo é mostrado abaixo:
Pacote principalA saída resultante:
[Samsung, Apple, Microsoft, Amazon, Google]Cordas.Campos()
As cordas.O método Fields () permite dividir as cordas pelos espaços brancos disponíveis. Ao contrário do SPLITAFTER () e SPLITAFTERN (), esse método não inclui os espaços de branco na fatia.
Se você não se importa com qual espaço em branco, este é provavelmente o melhor método para você.
Considere um exemplo como mostrado:
Pacote principalA função pega a string e a divide em todos os espaços de branco disponíveis.
Um exemplo de saída é como mostrado:
[Samsung Apple Microsoft Amazon Google]Conclusão
Strings são incríveis na linguagem de programação Go. Portanto, é entender como executar várias ações nelas, como mostrado neste guia.
Continue praticando e feliz codificação!