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 😜


Agradecimentos

Principalmente ao Cesar que pacientemente tem me ensinado Go.