Pegando o começo de uma string com Go ou Python
A colinha de hoje mostra como pegar o começo de uma string tanto em Go como em Python sem usar expressões regulares 🎉
Vamos supor que você tem a seguinte string: "Gopher"
e você quer saber se ela começa com "Go"
e também se começa com "C"
. Em Go:
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.HasPrefix("Gopher", "Go"))
fmt.Println(strings.HasPrefix("Gopher", "C"))
}
e em Python:
print('Gopher'.startswith('Go'))
print('Gopher'.startswith('C'))
Os dois exemplos vão printar “true” para a primeira e “false” para segunda em ambas linguagens.
Curiosamente, se você quiser saber se a sua string começa com ""
(string vazia) ambas linguagens vão retornar “true” também.
Em go:
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.HasPrefix("Gopher", ""))
}
Em Python:
print('Gopher'.startswith(''))
Importante saber disso para evitar ou cair propositalmente em casos de borda.
Massa né? Partiu aprender outras linguagens 😜
Links
- Python str.startswith
- Go strings.HasPrefix
- Implementação do strings.HasPrefix
- Se quiser ver o Cesar explicando tudo isso em vídeo dá uma olhada nesse post do grupo de estudos de Go
Agradecimentos
Principalmente ao Cesar que pacientemente tem me ensinado Go.